diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f5d956ab..389134af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,16 +40,16 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 # version intentionally omitted — taken from package.json "packageManager" - name: Set up Node - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version-file: .nvmrc cache: pnpm diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e3ea5295..d8aebb2d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -28,7 +28,7 @@ jobs: runs-on: ${{ matrix.platform }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 # Fail fast, before the ~200-minute macOS build, if the changelog wasn't # updated for this version. The release body links to /changelog, so a @@ -43,11 +43,11 @@ jobs: echo "Changelog entry found for $VERSION" - name: Install pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@v6 # version intentionally omitted — taken from package.json "packageManager" - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v7 with: node-version-file: .nvmrc cache: pnpm @@ -66,6 +66,14 @@ jobs: run: pnpm install --frozen-lockfile - name: Build and release + # Held at v0 deliberately. v1 is a breaking release: it removes + # `updaterJsonKeepUniversal` and switches latest.json asset URLs from + # browser-download URLs to GitHub API URLs, which embed an asset ID + # owned by THIS repo. The mirror step below repoints those URLs by + # string-replacing the repo slug, so an API URL would survive the + # rewrite but reference an asset ID that does not exist in the mirror + # repo, silently breaking updates for installs still polling it. + # Migrate deliberately, against a throwaway tag. See PR #328. uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index aa86409a..d62f52c4 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -35,7 +35,7 @@ jobs: run: working-directory: apps/desktop/src-tauri steps: - - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false diff --git a/.github/workflows/threatcrush-scan.yml b/.github/workflows/threatcrush-scan.yml index e104fe8c..0e22bb35 100644 --- a/.github/workflows/threatcrush-scan.yml +++ b/.github/workflows/threatcrush-scan.yml @@ -29,11 +29,11 @@ jobs: # the job — and the rest of this job runs a scanner installed from the # network over the contents of a pull request. A token that no step # needs should not be sitting in the working tree while that happens. - - uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: "20" @@ -218,7 +218,7 @@ jobs: && (steps.scan.outputs.status == 'clean' || steps.scan.outputs.status == 'findings') && hashFiles('threatcrush.sarif') != '' continue-on-error: true - uses: github/codeql-action/upload-sarif@f3712979fa5f215279b101dd0a2e3bdfb4353324 # v3 + uses: github/codeql-action/upload-sarif@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v3 with: sarif_file: threatcrush.sarif category: threatcrush @@ -313,7 +313,7 @@ jobs: # is the honest outcome rather than a reason to invent one. - name: Upload SARIF artifact if: always() - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: threatcrush-sarif path: threatcrush.sarif @@ -332,7 +332,7 @@ jobs: && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' continue-on-error: true - uses: actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 with: script: | const fs = require('fs');