From f2985edcd8ba853c761144cccba12ba6097845ba Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Sat, 26 Sep 2026 19:21:32 +0200 Subject: [PATCH] macOS minimum 13.0; CI job names as build::: 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 (- 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 --- .gitea/workflows/build_and_test.yml | 38 ++++++++++++++++++++++------- CMakeLists.txt | 5 ++-- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/build_and_test.yml b/.gitea/workflows/build_and_test.yml index 3e19e6aa7..c1c65d9a6 100644 --- a/.gitea/workflows/build_and_test.yml +++ b/.gitea/workflows/build_and_test.yml @@ -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 diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a4c55252..15579e366 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 (, ) 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)