From aa22a42d32c38404b618772ce9d063140207ffb3 Mon Sep 17 00:00:00 2001 From: jolavillette Date: Mon, 15 Jun 2026 13:09:09 +0200 Subject: [PATCH] ci(cmake): add concurrency guard, bump checkout v5, use Ninja everywhere - ubuntu-cmake: add concurrency cancel-in-progress (stop run pile-up per push) - all 3: actions/checkout@v4 -> @v5 (Node 24; clears the Node 20 deprecation) - ubuntu + macos: build with -G Ninja for consistency with Windows and a slightly faster build (ninja already present on Ubuntu; add brew ninja on macOS) Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/macos-cmake.yml | 6 +++--- .github/workflows/ubuntu-cmake.yml | 8 ++++++-- .github/workflows/windows-cmake.yml | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/macos-cmake.yml b/.github/workflows/macos-cmake.yml index 8114161ee..8a9e2ec69 100644 --- a/.github/workflows/macos-cmake.yml +++ b/.github/workflows/macos-cmake.yml @@ -36,7 +36,7 @@ jobs: shell: bash steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 with: persist-credentials: false @@ -56,7 +56,7 @@ jobs: - name: Install Homebrew dependencies run: > brew install - qt@5 openssl@3 botan@2 sqlcipher miniupnpc + ninja qt@5 openssl@3 botan@2 sqlcipher miniupnpc json-c asio speex speexdsp ffmpeg libxml2 libxslt bzip2 zlib rapidjson doxygen @@ -72,7 +72,7 @@ jobs: # qt@5 first so find_package(Qt5) picks the keg-only (correct) config, not a # broken Qt5 config that may sit directly under the Homebrew prefix. PREFIX="$QT5;$HB"; for d in "$HB"/opt/*; do PREFIX="$PREFIX;$d"; done - cmake -B Build-cmake -S . \ + cmake -G Ninja -B Build-cmake -S . \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH="$PREFIX" \ -DQt5_DIR="$QT5/lib/cmake/Qt5" \ diff --git a/.github/workflows/ubuntu-cmake.yml b/.github/workflows/ubuntu-cmake.yml index 88cc3aa9a..58cc518d9 100644 --- a/.github/workflows/ubuntu-cmake.yml +++ b/.github/workflows/ubuntu-cmake.yml @@ -22,13 +22,17 @@ on: paths-ignore: - '**/*.md' +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref }} + cancel-in-progress: true + jobs: build: name: Ubuntu 22.04 / Qt5 / CMake runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 # NOTE: no --remote here (on purpose) so the pinned, CMake-enabled commits # are checked out. librnp needs --recursive for its nested src/libsexpp. @@ -66,7 +70,7 @@ jobs: # Mirrors the validated local Linux build command. - name: CMake configure run: > - cmake -B Build-cmake -S . + cmake -G Ninja -B Build-cmake -S . -DCMAKE_POLICY_VERSION_MINIMUM=3.5 -DCMAKE_BUILD_TYPE=Release -DRS_RNPLIB=ON -DRS_JSON_API=ON -DRS_WEBUI=ON diff --git a/.github/workflows/windows-cmake.yml b/.github/workflows/windows-cmake.yml index 64e8cdac4..bab0f3923 100644 --- a/.github/workflows/windows-cmake.yml +++ b/.github/workflows/windows-cmake.yml @@ -38,7 +38,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: persist-credentials: false