diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6fb528b..9348141 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -133,7 +133,7 @@ jobs: with: toolchain: stable - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ matrix.python }} cache: pip @@ -210,7 +210,7 @@ jobs: with: toolchain: stable - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ matrix.python }} cache: pip @@ -297,7 +297,7 @@ jobs: with: toolchain: stable - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: # 3.14t and not 3.13t: PyO3 0.29 dropped 3.13t, following CPython, # which declared free-threading supported rather than experimental in diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 61052f6..0d20ce5 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -50,7 +50,7 @@ jobs: with: fetch-depth: 1 - - uses: anthropics/claude-code-action@239e3a730883eeb5c53db12b0fc9573b3024b126 # v1 + - uses: anthropics/claude-code-action@9d7150bc8a3dae8149739a88019d192b579ad90c # v1 # The token rides in `env` as well as `with`: subscription OAuth # tokens intermittently fail to reach the Claude subprocess through # the input alone (anthropics/claude-code-action#1281, #676) — the diff --git a/.github/workflows/publish-dry-run.yml b/.github/workflows/publish-dry-run.yml index d2354c3..5e7f99d 100644 --- a/.github/workflows/publish-dry-run.yml +++ b/.github/workflows/publish-dry-run.yml @@ -33,7 +33,7 @@ jobs: with: toolchain: stable - uses: Swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6 # v2 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.13" - run: pip install maturin diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3acc8e1..2b0379c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -98,7 +98,7 @@ jobs: target: x64 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.13" # abi3 means one wheel per platform covers every supported @@ -111,7 +111,7 @@ jobs: # directory make the second a cache hit on the first's artefact, and # the published wheel then carries the *other* package's extension — # a release that installs and then fails on a missing attribute. - - uses: PyO3/maturin-action@e10f6c464b90acceb5f640d31beda6d586ba7b4a # v1 + - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 env: CARGO_TARGET_DIR: ${{ github.workspace }}/target/python with: @@ -165,7 +165,7 @@ jobs: # shell, and the build below is the step that needs it. Join-Path $dir 'bin' | Out-File -FilePath $env:GITHUB_PATH -Append -Encoding utf8 & (Join-Path $dir 'bin\protoc.exe') --version - - uses: PyO3/maturin-action@e10f6c464b90acceb5f640d31beda6d586ba7b4a # v1 + - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 env: CARGO_TARGET_DIR: ${{ github.workspace }}/target/python-remote with: @@ -204,7 +204,7 @@ jobs: unzip -o /tmp/protoc.zip -d /usr/local fi protoc --version - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: wheels-${{ matrix.os }}-${{ matrix.target }} path: dist @@ -254,7 +254,7 @@ jobs: # # The remote wheel is deliberately not built here: it stays abi3-only # until somebody asks for it without a GIL. - - uses: PyO3/maturin-action@e10f6c464b90acceb5f640d31beda6d586ba7b4a # v1 + - uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1 with: command: build args: >- @@ -273,7 +273,7 @@ jobs: exit 1 fi ls dist/*cp314-cp314t*.whl >/dev/null - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: wheels-freethreaded-${{ matrix.os }}-${{ matrix.target }} path: dist @@ -294,12 +294,12 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: pattern: wheels-* merge-multiple: true path: dist - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.13" # what is already uploaded: a version on PyPI is permanent, so the @@ -354,7 +354,7 @@ jobs: # Deliberately *not* a gate: an SBOM that fails a build fails it for a # fact about somebody else's published package, and the advisory gate # in security.yml is where that belongs. - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.13" - name: the bill of materials, per ecosystem diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 6da4645..c2c709c 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -39,12 +39,12 @@ jobs: results_format: sarif publish_results: true - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: scorecard-sarif path: results.sarif retention-days: 30 - - uses: github/codeql-action/upload-sarif@5595ccaf912efad79be6eef63a5619ff05969be3 # v3 + - uses: github/codeql-action/upload-sarif@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v3 with: sarif_file: results.sarif diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index eaa224e..d63ceb6 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -65,7 +65,7 @@ jobs: timeout-minutes: 15 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.13" # One scanner over every ecosystem rather than one per ecosystem, and