diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 40738518c..00e5686b2 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -72,7 +72,7 @@ jobs: persist-credentials: false - name: Setup Java - uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 with: distribution: "temurin" java-version: "25" @@ -84,7 +84,7 @@ jobs: # built against an SDK nobody chose, and nothing in the build log would # say so. See AGENTS.md → Toolchain. - name: Install toolchain (mise) - uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 + uses: jdx/mise-action@9b200bcecbfd6303e69a4a261b2e09e3757440a7 # v5.2.0 - name: Cache Android NDK uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 228ddf392..3e5ce0f75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -149,7 +149,7 @@ jobs: # developers run locally — one source of truth. v4 = Node 24 runtime # (Node 20 actions are forced onto 24 and emit deprecation warnings). - name: Install toolchain (mise) - uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 + uses: jdx/mise-action@9b200bcecbfd6303e69a4a261b2e09e3757440a7 # v5.2.0 - name: Install dependencies run: bash tool/dev/deps.sh diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index b0c83b963..31d352498 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -89,7 +89,7 @@ jobs: # built against an SDK nobody chose, and nothing in the build log would # say so. See AGENTS.md → Toolchain. - name: Install toolchain (mise) - uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 + uses: jdx/mise-action@9b200bcecbfd6303e69a4a261b2e09e3757440a7 # v5.2.0 # The iOS build uses Swift Package Manager, not CocoaPods (there is no # Podfile). Cache SPM's clone/artifact store keyed on the resolved pins. diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b851a765a..1b1812f95 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -180,8 +180,8 @@ jobs: # .git/config beside them. persist-credentials: false - # Four caches are restored below — the SDK, Gradle, pub and Swift - # packages — into the job that signs and ships, and the workflow lint + # Three caches are restored below — Gradle, pub and Swift packages — + # into the job that signs and ships, and the workflow lint # (tool/check/workflow_security.sh) flags each one, rightly: whoever can # write a cache this job restores can put code into a store build. # @@ -196,16 +196,24 @@ jobs: # accepted, and the pins in review.yml are what bound it; take these # caches out rather than loosen them. # + # mise's own cache is not one of them. What it saves is an SDK that + # mise.toml reconstructs identically on the next run, not minutes of work + # that only a cache can give back — 20 s on Linux and 46 s on macOS in + # the run of 2026-10-25, against 65 s for the Swift packages alone. It is + # therefore the one to give up first, and v5.2.0's release notes say + # outright that a job which publishes a release should not restore a + # cache at all. + # # Flutter/Dart come from mise.toml, the same pin ci.yml and every # developer use. A published build is the one that most needs to be # reproducible, so it must not be the one tracking whatever "stable" # happens to mean on the day it runs. - - uses: jdx/mise-action@2d8d4cafcbd33be2ea37d2b6f5ad595363d1f1ca # v5.1.1 + - uses: jdx/mise-action@9b200bcecbfd6303e69a4a261b2e09e3757440a7 # v5.2.0 with: - cache: true # zizmor: ignore[cache-poisoning] — accepted, see above + cache: false - if: matrix.platform == 'android' - uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 + uses: actions/setup-java@b843ebf9b913146b38da2eaa7aeddf76074ae1ad # v6.1.0 with: distribution: "temurin" java-version: "25" diff --git a/.github/workflows/review.yml b/.github/workflows/review.yml index 3778e9290..cb1d102dc 100644 --- a/.github/workflows/review.yml +++ b/.github/workflows/review.yml @@ -184,9 +184,9 @@ jobs: # the `uses:` line and cannot see that one, so it sits directly below, # where a Dependabot diff shows it: bump the two together, to the npm # release matching the action's tag. - uses: alibaba/open-code-review@fabbdb296b0d97e2140ada8d54ca7d6d6d1d7ad4 # v1.12.13 + uses: alibaba/open-code-review@8eb83340a487b1150af00701b94f01af97e4b4d6 # v1.13.1 with: - ocr_version: 1.12.13 + ocr_version: 1.13.1 llm_url: ${{ secrets.OCR_LLM_URL }} llm_auth_token: ${{ secrets.OCR_LLM_AUTH_TOKEN }} llm_model: ${{ secrets.OCR_LLM_MODEL }}