diff --git a/.github/workflows/android-debug.yml b/.github/workflows/android-debug.yml index c5f8911..f348f2b 100644 --- a/.github/workflows/android-debug.yml +++ b/.github/workflows/android-debug.yml @@ -29,7 +29,7 @@ jobs: CARGO_PROFILE_DEV_STRIP: symbols steps: - name: Check out source - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 1 @@ -46,25 +46,25 @@ jobs: git clone --depth 1 https://github.com/readest/tauri-plugin-webview-upgrade.git apps/readest-app/src-tauri/plugins/tauri-plugin-webview-upgrade - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 with: version: 11.1.1 - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version: 22 cache: pnpm - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v6 with: distribution: temurin java-version: '17' cache: gradle - name: Set up Android SDK - uses: android-actions/setup-android@v3 + uses: android-actions/setup-android@v4 - name: Install Android SDK packages run: sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" @@ -297,7 +297,7 @@ jobs: echo "Verified arm64-v8a-only APK: $apk_path" - name: Upload Android arm64-v8a debug APK - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: readinfinity-android-arm64-v8a-debug-${{ github.sha }} path: ${{ steps.apk.outputs.path }} diff --git a/.github/workflows/android-e2e.yml b/.github/workflows/android-e2e.yml index ed4d6bd..5521348 100644 --- a/.github/workflows/android-e2e.yml +++ b/.github/workflows/android-e2e.yml @@ -40,19 +40,19 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm - name: setup Java - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 with: distribution: 'zulu' java-version: '17' - name: setup Android SDK - uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4 + uses: android-actions/setup-android@be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd # v4 - name: install NDK run: sdkmanager "ndk;28.2.13676358" diff --git a/.github/workflows/android-stable-release.yml b/.github/workflows/android-stable-release.yml index c653826..231a2d5 100644 --- a/.github/workflows/android-stable-release.yml +++ b/.github/workflows/android-stable-release.yml @@ -31,7 +31,7 @@ jobs: timeout-minutes: 120 steps: - name: Check out source - uses: actions/checkout@v4 + uses: actions/checkout@v7 with: fetch-depth: 1 @@ -48,25 +48,25 @@ jobs: git clone --depth 1 https://github.com/readest/tauri-plugin-webview-upgrade.git apps/readest-app/src-tauri/plugins/tauri-plugin-webview-upgrade - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 with: version: 11.1.1 - name: Set up Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version: 22 cache: pnpm - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v6 with: distribution: temurin java-version: '17' cache: gradle - name: Set up Android SDK - uses: android-actions/setup-android@v3 + uses: android-actions/setup-android@v4 - name: Install Android SDK packages run: sdkmanager "platform-tools" "platforms;android-35" "build-tools;35.0.0" @@ -398,7 +398,7 @@ jobs: echo "version=$version" >> "$GITHUB_OUTPUT" - name: Upload all ABI build artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: readinfinity-android-all-abi-release-${{ github.sha }} path: | @@ -462,22 +462,22 @@ jobs: gh release upload "$RELEASE_TAG" latest.json release-notes.json --clobber - name: Attest arm64-v8a APK - uses: actions/attest-build-provenance@v2 + uses: actions/attest-build-provenance@v4 with: subject-path: apps/readest-app/${{ steps.apk.outputs.arm64_asset }} - name: Attest armeabi-v7a APK - uses: actions/attest-build-provenance@v2 + uses: actions/attest-build-provenance@v4 with: subject-path: apps/readest-app/${{ steps.apk.outputs.armv7_asset }} - name: Attest x86 APK - uses: actions/attest-build-provenance@v2 + uses: actions/attest-build-provenance@v4 with: subject-path: apps/readest-app/${{ steps.apk.outputs.x86_asset }} - name: Attest x86_64 APK - uses: actions/attest-build-provenance@v2 + uses: actions/attest-build-provenance@v4 with: subject-path: apps/readest-app/${{ steps.apk.outputs.x86_64_asset }} @@ -506,7 +506,7 @@ jobs: cat "apps/readest-app/${{ steps.apk.outputs.x86_64_asset }}.sha256" - name: Upload all-ABI release metadata - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: readinfinity-all-abi-release-metadata-${{ github.sha }} path: | diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index e096469..2514a82 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -71,7 +71,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4 + uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4 with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} @@ -100,6 +100,6 @@ jobs: exit 1 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4 + uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4 with: category: '/language:${{matrix.language}}' diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index f09b87a..3711d62 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -44,7 +44,7 @@ jobs: submodules: recursive - name: Set up Docker Buildx - uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 - name: Log in to GHCR uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 @@ -61,7 +61,7 @@ jobs: - name: Build and push by digest id: build - uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 + uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7.4.0 with: context: . file: ./Dockerfile @@ -80,7 +80,7 @@ jobs: touch "/tmp/digests/${digest#sha256:}" - name: Upload digest - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: digests-${{ env.PLATFORM_PAIR }} path: /tmp/digests/* @@ -95,14 +95,14 @@ jobs: runs-on: ubuntu-latest steps: - name: Download digests - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: path: /tmp/digests pattern: digests-* merge-multiple: true - name: Set up Docker Buildx - uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 - name: Log in to GHCR uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6004fb8..66e1b90 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -97,21 +97,21 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm - name: setup Java (for Android build only) if: matrix.config.release == 'android' - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 with: distribution: 'zulu' java-version: '17' - name: setup Android SDK (for Android build only) if: matrix.config.release == 'android' - uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4 + uses: android-actions/setup-android@be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd # v4 - name: install NDK (for Android build only) if: matrix.config.release == 'android' diff --git a/.github/workflows/nix-build.yml b/.github/workflows/nix-build.yml index da2f67a..29476bd 100644 --- a/.github/workflows/nix-build.yml +++ b/.github/workflows/nix-build.yml @@ -15,8 +15,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 - - uses: cachix/cachix-action@f495f3ffa2f3810a92e5cc0abc2c5d6a2a07ec82 + - uses: cachix/install-nix-action@448cde739abec1eaf0646249e3d25bb8d9bc7702 + - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 with: name: readest authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' diff --git a/.github/workflows/nix-deps-check.yml b/.github/workflows/nix-deps-check.yml index c84d5a4..ba65c13 100644 --- a/.github/workflows/nix-deps-check.yml +++ b/.github/workflows/nix-deps-check.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 + - uses: cachix/install-nix-action@448cde739abec1eaf0646249e3d25bb8d9bc7702 - name: verify pinned dependency hashes # No substituters for the readest cache on purpose: the dependency # fetches must actually run so that a stale hash fails here with the diff --git a/.github/workflows/nix-update-inputs.yml b/.github/workflows/nix-update-inputs.yml index 8640ac3..19cb2b6 100644 --- a/.github/workflows/nix-update-inputs.yml +++ b/.github/workflows/nix-update-inputs.yml @@ -15,8 +15,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 - - uses: DeterminateSystems/determinate-nix-action@61cbfe2efc2d4e7a8a6d56967c3c1058e846c858 - - uses: DeterminateSystems/update-flake-lock@6eeac1e86e13a9256682f930c4c7568acc43f047 + - uses: DeterminateSystems/determinate-nix-action@e847f25223456b3058e12f7fc9d777b6a6f25060 + - uses: DeterminateSystems/update-flake-lock@94ec8663aab64b7339b58aae321906a0e3b9f01f with: pr-title: "chore(nix): update flake inputs" pr-labels: | diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index e5ff024..c8b5c90 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -20,11 +20,11 @@ jobs: pull-requests: read steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 + - uses: cachix/install-nix-action@448cde739abec1eaf0646249e3d25bb8d9bc7702 # skipPush is a cachix-action input, not an install-nix-action one. The # cache is public, so pulling needs no token at all; omitting authToken # keeps the push token out of PR-triggered builds entirely. - - uses: cachix/cachix-action@f495f3ffa2f3810a92e5cc0abc2c5d6a2a07ec82 + - uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 with: name: readest skipPush: true @@ -61,7 +61,7 @@ jobs: uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 - name: Install minimal stable with clippy and rustfmt if: steps.changes.outputs.tauri == 'true' - uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1 + uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0 with: toolchain: stable override: true @@ -120,7 +120,7 @@ jobs: uses: mozilla-actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11 - name: Install minimal stable with clippy and rustfmt if: steps.changes.outputs.native == 'true' - uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1 + uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0 with: toolchain: stable override: true @@ -149,7 +149,7 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm @@ -199,7 +199,7 @@ jobs: - name: upload e2e report if: ${{ failure() && steps.web_e2e.outcome == 'failure' }} - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: playwright-report path: apps/readest-app/playwright-report/ @@ -224,7 +224,7 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm @@ -289,7 +289,7 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm @@ -379,7 +379,7 @@ jobs: - name: setup node if: steps.changes.outputs.tauri == 'true' - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm @@ -407,7 +407,7 @@ jobs: - name: install Rust toolchain if: steps.changes.outputs.tauri == 'true' - uses: actions-rust-lang/setup-rust-toolchain@166cdcfd11aee3cb47222f9ddb555ce30ddb9659 # v1 + uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0 with: toolchain: stable # This action defaults RUSTFLAGS to -D warnings. Path-patched diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 975f4af..cbc2932 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 - name: get version run: echo "PACKAGE_VERSION=$(node -p "require('./apps/readest-app/package.json').version")" >> $GITHUB_ENV - name: get release @@ -246,7 +246,7 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm @@ -322,21 +322,21 @@ jobs: uses: pnpm/action-setup@0977fd99725f1db4007ccb2928dbb4e90d06cc86 # v6 - name: setup node - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v6 + uses: actions/setup-node@949feb2413d6458794dcd2491c4babbbce0c15c1 # v6 with: node-version: 24 cache: pnpm - name: setup Java (for Android build only) if: matrix.config.release == 'android' - uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 with: distribution: 'zulu' java-version: '17' - name: setup Android SDK (for Android build only) if: matrix.config.release == 'android' - uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4 + uses: android-actions/setup-android@be39fa834029ff78f1a44aa3bb0819b8fc2bd8fd # v4 - name: install NDK (for Android build only) if: matrix.config.release == 'android' diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index be660e1..ee19577 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -39,7 +39,7 @@ jobs: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4 + uses: ossf/scorecard-action@fa7117db83c52d787ae5a89f350999701505d78e # v2.5.0 with: results_file: results.sarif results_format: sarif @@ -64,7 +64,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: SARIF file path: results.sarif @@ -73,6 +73,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard (optional). # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7 + uses: github/codeql-action/upload-sarif@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 with: sarif_file: results.sarif