CI: reuse jfjoch_hdf5_test via artifact in dials-test
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m21s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 15m1s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 15m26s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 15m19s
Build Packages / build:rpm (rocky8) (push) Successful in 15m21s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m41s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 16m14s
Build Packages / Build jfjoch_hdf5_test (push) Successful in 9m13s
Build Packages / Generate python client (push) Successful in 26s
Build Packages / XDS test (neggia plugin) (push) Successful in 9m15s
Build Packages / Create release (push) Skipped
Build Packages / DIALS test (push) Failing after 6s
Build Packages / Build documentation (push) Successful in 54s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 10m31s
Build Packages / XDS test (durin plugin) (push) Successful in 10m41s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 11m51s
Build Packages / build:rpm (rocky9) (push) Successful in 13m1s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 12m28s
Build Packages / Unit tests (push) Successful in 59m54s

Build jfjoch_hdf5_test once in a new build-hdf5-test job and hand the binary
to dials-test as an artifact, instead of recompiling it from scratch in every
rocky9 processing job. Uses the christopherhx gitea-{upload,download}-artifact
fork (mirrored under gitea.psi.ch/actions) to avoid the stock v4 action's
GHESNotSupportedError. Probe scope: dials-test only; xds-* still self-build
until the round-trip is confirmed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 16:08:48 +02:00
co-authored by Claude Opus 4.8
parent c86beeb393
commit 94125bd6cb
+30 -3
View File
@@ -174,18 +174,45 @@ jobs:
python3 gitea_upload_file.py "$file"
done
fi
dials-test:
name: DIALS test
# Artifact-reuse probe: build jfjoch_hdf5_test once here and hand it to dials-test below, instead
# of every rocky9 processing job recompiling it from scratch (~12 min each). Once this round-trip
# is confirmed working on the PSI Gitea, the xds-* jobs can consume the same artifact the same way.
build-hdf5-test:
name: Build jfjoch_hdf5_test
runs-on: jfjoch_rocky9
steps:
- uses: actions/checkout@v4
- name: Build processing test
- name: Build jfjoch_hdf5_test
shell: bash
run: |
mkdir -p build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ${{ env.MARCH_CMAKE_FLAGS }} ..
ninja -j16 jfjoch_hdf5_test
# Gitea 1.27 speaks the v4 artifact protocol, but stock actions/upload-artifact@v4 treats any
# non-github.com server as GHES and aborts with GHESNotSupportedError. The christopherhx fork
# (mirrored under gitea.psi.ch/actions) drops that check; pinning upstream @v3 also works.
- name: Upload jfjoch_hdf5_test
uses: https://gitea.psi.ch/actions/gitea-upload-artifact@v4
with:
name: jfjoch_hdf5_test-rocky9
path: build/tools/jfjoch_hdf5_test
retention-days: 1
dials-test:
name: DIALS test
runs-on: jfjoch_rocky9
needs: build-hdf5-test
steps:
- uses: actions/checkout@v4
- name: Download jfjoch_hdf5_test
uses: https://gitea.psi.ch/actions/gitea-download-artifact@v4
with:
name: jfjoch_hdf5_test-rocky9
path: build/tools
# Artifacts are zipped, which discards the executable bit -- restore it before running.
- name: Restore executable bit
shell: bash
run: chmod +x build/tools/jfjoch_hdf5_test
- name: Run DIALS processing on legacy format
shell: bash
run: |