macOS minimum 13.0; CI job names as build:<product>:<platform>:<variant>
Build Packages / Create release (push) Successful in 24s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m19s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m25s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 10m34s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 17m26s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 8m45s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 6m36s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 6m30s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 20m1s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 24m57s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 11m34s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 14m13s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 14m3s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 14m22s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 12m53s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 13m18s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 18m5s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 17m4s
Build Packages / Generate python client (push) Successful in 41s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 18m58s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 18m50s
Build Packages / Build documentation (push) Successful in 1m6s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 15m15s
Build Packages / Unit tests (push) Successful in 1h48m38s

CMAKE_OSX_DEPLOYMENT_TARGET 12.0 -> 13.0: the Qt 6.11 frameworks the .dmg
bundles are built for macOS 13, so the app could not start on 12 anyway, and
the linker warned about every framework ("building for macOS-12.0, but
linking with dylib ... built for newer version 13.0").

CI job names follow one scheme - build:viewer|rugnux|jfjoch, then the
platform (<os>-<arch> for the portable products, the distribution for the
packages), then cuda / nocuda (cuda-sls9 for the slsDetectorPackage 9
builds). The Linux viewer matrix's "cpu" variant is now "nocuda" like the
Windows one; the RPM/DEB matrix gains platform and variant beside the
distro key its upload step tests. Only display names change: job ids, and
so needs:, and artifact file names are as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Filip LeonarskiandClaude Opus 5.5 committed 2026-09-26 19:21:32 +02:00
1 parent c516ac2c51
commit f2985edcd8
2 files changed
+32 -11

No files matched your search

+29 -9
View File
@@ -88,7 +88,7 @@ jobs:
cd build/tools
./jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5
build-windows:
name: build:windows:${{ matrix.variant }}
name: build:viewer:windows-x86_64:${{ matrix.variant }}
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: windows-11-cuda-qt
@@ -136,7 +136,7 @@ jobs:
if ($LASTEXITCODE -ne 0) { throw "Upload failed for $($file.Name)" }
}
build-viewer-tgz:
name: build:viewer-tgz:${{ matrix.variant }}
name: build:viewer:linux-x86_64:${{ matrix.variant }}
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: jfjoch_rocky8
@@ -149,7 +149,7 @@ jobs:
include:
- variant: cuda
use_cuda: 'ON'
- variant: cpu
- variant: nocuda
use_cuda: 'OFF'
steps:
- uses: actions/checkout@v4
@@ -193,7 +193,7 @@ jobs:
python3 gitea_upload_file.py "$tgz"
done
build-rugnux-tgz:
name: build:rugnux-tgz (x86_64)
name: build:rugnux:linux-x86_64:cuda
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: jfjoch_rocky8
@@ -251,7 +251,7 @@ jobs:
done
build-rugnux-windows:
name: build:rugnux:windows
name: build:rugnux:windows-x86_64:cuda
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: windows-11-cuda-qt
@@ -296,7 +296,7 @@ jobs:
}
build-rugnux-arm:
name: build:rugnux:aarch64 (cross)
name: build:rugnux:linux-aarch64:cuda # cross-compiled on x86_64
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
# Cross-compiled on an x86_64 runner: nvcc, gcc and cmake all run native and only emit aarch64,
@@ -378,7 +378,7 @@ jobs:
done
build-macos-viewer:
name: build:macos:viewer (arm64)
name: build:viewer:macos-arm64:nocuda
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
# A Mac mini running act_runner in host mode (no containers on macOS): the job runs as the runner's
@@ -446,7 +446,7 @@ jobs:
done
build-rugnux-macos:
name: build:rugnux:macos (arm64)
name: build:rugnux:macos-arm64:nocuda
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: macos-arm64 # see build-macos-viewer
@@ -498,7 +498,7 @@ jobs:
done
build-rpm:
name: build:rpm (${{ matrix.distro }})
name: build:jfjoch:${{ matrix.platform }}:${{ matrix.variant }}
# Uploads to the release, so it waits for the job that creates it.
needs: create-release
runs-on: ${{ matrix.runner }}
@@ -511,60 +511,80 @@ jobs:
- runner: jfjoch_rocky8
image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609
distro: rocky8
platform: rocky8
variant: cuda
cmake_flags: -DJFJOCH_USE_CUDA=ON
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-cuda12/upload
- runner: jfjoch_rocky8
image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609
distro: rocky8_sls9
platform: rocky8
variant: cuda-sls9
cmake_flags: -DJFJOCH_USE_CUDA=ON -DSLS9=ON
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet9-cuda12/upload
- runner: jfjoch_rocky8
image: gitea.psi.ch/leonarski_f/jfjoch_rocky8:2609
distro: rocky8_nocuda
platform: rocky8
variant: nocuda
cmake_flags: -DJFJOCH_USE_CUDA=OFF
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el8/slsdet8-nocuda/upload
- runner: jfjoch_rocky9
image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609
distro: rocky9
platform: rocky9
variant: cuda
cmake_flags: -DJFJOCH_USE_CUDA=ON
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-cuda13/upload
- runner: jfjoch_rocky9
image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609
distro: rocky9_sls9
platform: rocky9
variant: cuda-sls9
cmake_flags: -DJFJOCH_USE_CUDA=ON -DSLS9=ON
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet9-cuda13/upload
- runner: jfjoch_rocky9
image: gitea.psi.ch/leonarski_f/jfjoch_rocky9:2609
distro: rocky9_nocuda
platform: rocky9
variant: nocuda
cmake_flags: -DJFJOCH_USE_CUDA=OFF
pkg_glob: "*.rpm"
upload_url: https://gitea.psi.ch/api/packages/mx/rpm/centos/el9/slsdet8-nocuda/upload
- runner: jfjoch_ubuntu2204
image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2204:2609
distro: ubuntu2204
platform: ubuntu2204
variant: cuda
cmake_flags: -DJFJOCH_USE_CUDA=ON
pkg_glob: "*.deb"
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/jammy/cuda13/upload
- runner: jfjoch_ubuntu2204
image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2204:2609
distro: ubuntu2204_nocuda
platform: ubuntu2204
variant: nocuda
cmake_flags: -DJFJOCH_USE_CUDA=OFF
pkg_glob: "*.deb"
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/jammy/nocuda/upload
- runner: jfjoch_ubuntu2404
image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2404:2609
distro: ubuntu2404
platform: ubuntu2404
variant: cuda
cmake_flags: -DJFJOCH_USE_CUDA=ON
pkg_glob: "*.deb"
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/cuda13/upload
- runner: jfjoch_ubuntu2404
image: gitea.psi.ch/leonarski_f/jfjoch_ubuntu2404:2609
distro: ubuntu2404_nocuda
platform: ubuntu2404
variant: nocuda
cmake_flags: -DJFJOCH_USE_CUDA=OFF
pkg_glob: "*.deb"
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/nocuda/upload
+3 -2
View File
@@ -9,9 +9,10 @@ FILE(STRINGS VERSION JFJOCH_VERSION)
STRING(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" JFJOCH_VERSION_NUMERIC "${JFJOCH_VERSION}")
# Oldest macOS the binaries run on (ignored elsewhere). Without it CMake takes the version of the
# build machine, and a .dmg would refuse to start on anything older. 12 is the floor of current Qt 6;
# build machine, and a .dmg would refuse to start on anything older. 13 is what the Qt the .dmg
# bundles (6.11) is built for, so a lower value only makes the linker warn about every framework;
# our own needs (<latch>, <filesystem>) stop at 11. Has to be set before PROJECT().
SET(CMAKE_OSX_DEPLOYMENT_TARGET "12.0" CACHE STRING "Minimum macOS version")
SET(CMAKE_OSX_DEPLOYMENT_TARGET "13.0" CACHE STRING "Minimum macOS version")
PROJECT(jfjoch VERSION ${JFJOCH_VERSION_NUMERIC} LANGUAGES C CXX)
SET(CMAKE_POLICY_DEFAULT_CMP0077 NEW)