From 6ba8ec7e6f2c50495e6cfc2ea80465add46b6d1b Mon Sep 17 00:00:00 2001 From: Yat Ho Date: Fri, 16 Jan 2026 04:15:47 +0800 Subject: [PATCH] ci: bump actions and deps (#8141) * ci: bump to `actions/checkout@v6` * ci: bump to `actions/setup-node@v6` * ci: bump to `actions/upload-artifact@v6` * ci: bump to `actions/download-artifact@v7` * ci: bump to `actions/cache@v5` * ci: bump to `actions/setup-java@v5` * ci: use gradle 8.13 * ci: bump to vcpkg `389d14fa0e0692f36967e9eb5499e909317644d5` * ci: bump to `github/codeql-action@v4` * ci: bump to ndk 27.3.13750724 * fix: define android namespace * ci: don't pin ubuntu runner version for non-native builds --- .github/actions/prepare-deps-win32/action.yml | 4 +- .github/workflows/actions.yml | 86 +++++++++---------- .github/workflows/codeql.yml | 8 +- .github/workflows/update-copyright.yml | 2 +- .github/workflows/webapp.yml | 16 ++-- android/build.gradle | 3 +- android/gradle.properties | 2 +- 7 files changed, 61 insertions(+), 60 deletions(-) diff --git a/.github/actions/prepare-deps-win32/action.yml b/.github/actions/prepare-deps-win32/action.yml index e2378b70a..88d8d00c0 100644 --- a/.github/actions/prepare-deps-win32/action.yml +++ b/.github/actions/prepare-deps-win32/action.yml @@ -37,7 +37,7 @@ runs: exit 1 } - name: Restore Cache - uses: actions/cache/restore@v4 + uses: actions/cache/restore@v5 id: restore-cache with: path: ${{ env.DEPS_PREFIX }} @@ -54,7 +54,7 @@ runs: } - name: Save Cache if: steps.restore-cache.outputs.cache-hit != 'true' - uses: actions/cache/save@v4 + uses: actions/cache/save@v5 id: cache with: path: ${{ env.DEPS_PREFIX }} diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index 0ef51c2a6..e972b38a1 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -10,7 +10,7 @@ env: GTEST_OUTPUT: xml:./ jobs: what-to-make: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest outputs: make-core: ${{ steps.check-main-push.outputs.is-main-push == '1' || steps.check-diffs.outputs.core-changed == '1' || steps.check-diffs.outputs.ci-actions-changed == '1' }} make-android: ${{ steps.check-main-push.outputs.is-main-push == '1' || steps.check-diffs.outputs.android-changed == '1' || steps.check-diffs.outputs.ci-actions-changed == '1' }} @@ -38,7 +38,7 @@ jobs: fi - name: Get Source id: get-source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 path: src @@ -83,7 +83,7 @@ jobs: echo '${{ toJSON(runner) }}' cat /etc/os-release - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Get Dependencies @@ -94,7 +94,7 @@ jobs: sudo apt update sudo apt install -y clang-format-20 - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Check for style diffs @@ -108,7 +108,7 @@ jobs: cat style.diff set -e - name: Upload Diffs - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 if: ${{ steps.check-for-diffs.outputs.differs == '1' }} with: name: code-style.diff @@ -150,7 +150,7 @@ jobs: libssl-dev \ ninja-build - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive path: src @@ -193,7 +193,7 @@ jobs: - name: Get Dependencies run: brew install --formulae cmake gettext libdeflate libevent libpsl miniupnpc ninja node pkgconf - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive path: src @@ -253,7 +253,7 @@ jobs: libssl-dev \ ninja-build - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive path: src @@ -288,7 +288,7 @@ jobs: echo '${{ toJSON(needs) }}' echo '${{ toJSON(runner) }}' - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive path: src @@ -337,13 +337,13 @@ jobs: - name: Get Dependencies run: brew install --formulae xcbeautify - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: src submodules: recursive - name: Build run: set -o pipefail && xcodebuild -project src/Transmission.xcodeproj -scheme Transmission -configuration 'Release - Debug' -derivedDataPath pfx ONLY_ACTIVE_ARCH=NO build | xcbeautify --renderer github-actions - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }} path: pfx/Build/Products/**/Transmission.app* @@ -385,7 +385,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: brew install --formula qt - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: src submodules: recursive @@ -419,14 +419,14 @@ jobs: run: cmake -E chdir obj ctest -j $(sysctl -n hw.logicalcpu) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ matrix.os }}-cmake-universal path: pfx/**/* alpine-musl: needs: [ what-to-make ] - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: image: alpine:latest if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }} @@ -466,7 +466,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: apk add --upgrade qt6-qtbase-dev qt6-qttools-dev qt6-qtsvg-dev xcb-util-cursor - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: src submodules: recursive @@ -501,7 +501,7 @@ jobs: run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }} path: pfx/**/* @@ -526,7 +526,7 @@ jobs: echo '${{ toJSON(needs) }}' echo '${{ toJSON(runner) }}' - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: src submodules: recursive @@ -569,11 +569,11 @@ jobs: run: | Import-VisualStudioVars -VisualStudioVersion 2022 -Architecture ${{ matrix.arch }} cmake --build obj --config RelWithDebInfo --target pack-msi - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }}-${{ matrix.arch }} path: pfx/**/* - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }}-${{ matrix.arch }}-msi path: obj/dist/msi/*.msi @@ -599,7 +599,7 @@ jobs: libssl-dev \ ninja-build - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: path: src submodules: recursive @@ -611,7 +611,7 @@ jobs: -G Ninja - name: Create source tarball run: cmake --build obj --target package_source - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: source-tarball path: obj/transmission*.tar.* @@ -653,7 +653,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: brew install --formula qt - name: Get Source - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: source-tarball - name: Extract Source @@ -695,7 +695,7 @@ jobs: run: cmake -E chdir obj ctest -j $(sysctl -n hw.logicalcpu) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ matrix.os }}-from-tarball path: pfx/**/* @@ -703,7 +703,7 @@ jobs: debian-11-from-tarball: needs: [ make-source-tarball, what-to-make ] if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: image: debian:11-slim env: @@ -741,7 +741,7 @@ jobs: echo "LANG=C.UTF-8" >> "$GITHUB_ENV" echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV" - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Get Dependencies (GTK) @@ -751,7 +751,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: apt-get install -y --no-install-recommends libxcb-cursor0 qtbase5-dev libqt5svg5-dev qttools5-dev - name: Get Source - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: source-tarball - name: Extract Source @@ -783,7 +783,7 @@ jobs: run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }} path: pfx/**/* @@ -791,7 +791,7 @@ jobs: fedora-39-from-tarball: needs: [ make-source-tarball, what-to-make ] if: ${{ needs.what-to-make.outputs.make-cli == 'true' || needs.what-to-make.outputs.make-daemon == 'true' || needs.what-to-make.outputs.make-gtk == 'true' || needs.what-to-make.outputs.make-qt == 'true' || needs.what-to-make.outputs.make-tests == 'true' || needs.what-to-make.outputs.make-utils == 'true' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest container: image: fedora:39 env: @@ -823,7 +823,7 @@ jobs: pkgconf-pkg-config \ xz - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Get Dependencies (GTK) @@ -833,7 +833,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: dnf install -y qt6-qtbase-devel qt6-qtsvg-devel qt6-qttools-devel xcb-util-cursor - name: Get Source - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: source-tarball - name: Extract Source @@ -867,7 +867,7 @@ jobs: run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }} path: pfx/**/* @@ -910,7 +910,7 @@ jobs: echo "LANG=C.UTF-8" >> "$GITHUB_ENV" echo "LC_ALL=C.UTF-8" >> "$GITHUB_ENV" - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Get Dependencies (GTK) @@ -920,7 +920,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: sudo apt-get install -y --no-install-recommends libxcb-cursor0 qtbase5-dev libqt5svg5-dev qttools5-dev - name: Get Source - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v7 with: name: source-tarball - name: Extract Source @@ -952,7 +952,7 @@ jobs: run: cmake -E chdir obj ctest -j $(nproc) --build-config RelWithDebInfo --output-on-failure - name: Install run: cmake --build obj --config RelWithDebInfo --target install/strip - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v6 with: name: binaries-${{ github.job }} path: pfx/**/* @@ -960,7 +960,7 @@ jobs: android: needs: [ what-to-make ] if: ${{ needs.what-to-make.outputs.make-android == 'true' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest env: VCPKG_DEFAULT_TRIPLET: arm64-android steps: @@ -972,31 +972,31 @@ jobs: ninja-build - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive - name: Set up JDK 17 - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: java-version: '17' distribution: 'temurin' - + - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + uses: gradle/actions/setup-gradle@v5 with: - gradle-version: 7.6 + gradle-version: 8.13 - name: Setup Android SDK uses: android-actions/setup-android@v3 - name: Install NDK - run: sdkmanager "ndk;26.1.10909125" + run: sdkmanager "ndk;27.3.13750724" - name: Setup vcpkg uses: lukka/run-vcpkg@v11 with: - vcpkgGitCommitId: 53bef8994c541b6561884a8395ea35715ece75db # 2024.01.12 + vcpkgGitCommitId: 389d14fa0e0692f36967e9eb5499e909317644d5 # 2026.01.15 - name: Install vcpkg packages run: | @@ -1051,7 +1051,7 @@ jobs: if: ${{ needs.what-to-make.outputs.make-qt == 'true' }} run: sudo apt-get install -y --no-install-recommends libxcb-cursor0 qt6-base-dev qt6-svg-dev qt6-tools-dev - name: Get Source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive path: src diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5cfc3b66e..231d4b5dd 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout repository and submodules - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: submodules: recursive @@ -77,14 +77,14 @@ jobs: - name: Initialize CodeQL if: ${{ matrix.language == 'javascript' }} - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} config-file: ./.github/codeql/codeql-config-js.yml - name: Initialize CodeQL if: ${{ matrix.language == 'cpp' }} - uses: github/codeql-action/init@v3 + uses: github/codeql-action/init@v4 with: languages: ${{ matrix.language }} @@ -94,6 +94,6 @@ jobs: ninja -C _build - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 + uses: github/codeql-action/analyze@v4 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/update-copyright.yml b/.github/workflows/update-copyright.yml index 5ba314a65..98b26fc0c 100644 --- a/.github/workflows/update-copyright.yml +++ b/.github/workflows/update-copyright.yml @@ -9,7 +9,7 @@ jobs: update-copyright-years: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: FantasticFiasco/action-update-license-year@v3 diff --git a/.github/workflows/webapp.yml b/.github/workflows/webapp.yml index 83b72db84..422e51899 100644 --- a/.github/workflows/webapp.yml +++ b/.github/workflows/webapp.yml @@ -14,14 +14,14 @@ on: - '.github/**' jobs: decide-what-jobs-to-run: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest outputs: test-style: ${{ steps.check-diffs.outputs.web-changed == '1' }} test-generated-files: ${{ steps.check-diffs.outputs.web-changed == '1' && steps.check-main-push.outputs.is-main-push == '0'}} update-generated-files: ${{ steps.check-diffs.outputs.web-changed == '1' && steps.check-main-push.outputs.is-main-push == '1'}} steps: - name: Get source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 2 # >1 needed for merge base - name: Check push-to-main @@ -58,9 +58,9 @@ jobs: if: ${{ needs.decide-what-jobs-to-run.outputs.test-style == 'true' }} steps: - name: Get source - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Check for style diffs @@ -78,7 +78,7 @@ jobs: echo === set -e # undo set +e - name: Upload diffs - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 if: ${{ steps.check-for-diffs.outputs.differs == '1' }} with: name: code-style.diff @@ -97,7 +97,7 @@ jobs: if: ${{ needs.decide-what-jobs-to-run.outputs.test-generated-files == 'true' }} steps: - name: Get source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 2 # >1 needed for merge base - name: Check for changes to generated files @@ -127,11 +127,11 @@ jobs: run: | env | sort - name: Get NPM - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: lts/* - name: Get source - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 2 # >1 needed for merge base - name: Generate webapp files diff --git a/android/build.gradle b/android/build.gradle index 76212c303..19e9d7c56 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath "com.android.tools.build:gradle:7.2.1" + classpath "com.android.tools.build:gradle:8.13.+" } } @@ -23,6 +23,7 @@ def getExtOrIntegerDefault(name) { } android { + namespace "com.transmissionbt.transmission" ndkVersion getExtOrDefault("ndkVersion") compileSdkVersion getExtOrIntegerDefault("compileSdkVersion") diff --git a/android/gradle.properties b/android/gradle.properties index a450253b4..77bd23041 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -3,4 +3,4 @@ Transmission_kotlinVersion=1.7.0 Transmission_minSdkVersion=26 Transmission_targetSdkVersion=31 Transmission_compileSdkVersion=31 -Transmission_ndkVersion=26.1.10909125 +Transmission_ndkVersion=27.3.13750724