diff --git a/.github/actions/setup-julia/action.yml b/.github/actions/setup-julia/action.yml index 592bd857c4d..67dd0700368 100644 --- a/.github/actions/setup-julia/action.yml +++ b/.github/actions/setup-julia/action.yml @@ -20,7 +20,7 @@ runs: # julia-actions/setup-julia ships every sub-action from one repo and # tags them together; pinned to the v2 tag's commit SHA like every # workflow-level action in this repo (Dependabot keeps the pin fresh). - uses: julia-actions/setup-julia@fa02766e078afaaf09b14210362cee14137e6a32 # v3.0.2 + uses: julia-actions/setup-julia@da908477b5db94c10ffce8cfea9f2b3b9d5db687 # v3.0.3 with: version: ${{ inputs.julia-version }} diff --git a/.github/workflows/ci-changelog.yml b/.github/workflows/ci-changelog.yml index 08b3670a3ec..84f04019ffc 100644 --- a/.github/workflows/ci-changelog.yml +++ b/.github/workflows/ci-changelog.yml @@ -68,12 +68,12 @@ jobs: # The gate diffs against the base branch, which a shallow checkout lacks. fetch-depth: 0 - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 # `--no-project`: the tool is standard library only, so the gate answers # in seconds without syncing pandas, scipy and scikit-learn. diff --git a/.github/workflows/ci-lint.yml b/.github/workflows/ci-lint.yml index 95eefb592c7..187939e1c9d 100644 --- a/.github/workflows/ci-lint.yml +++ b/.github/workflows/ci-lint.yml @@ -66,13 +66,13 @@ jobs: - name: Set up Python if: steps.check.outputs.should_lint == 'true' - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv if: steps.check.outputs.should_lint == 'true' - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 - name: Install dependencies if: steps.check.outputs.should_lint == 'true' diff --git a/.github/workflows/ci-migrations.yml b/.github/workflows/ci-migrations.yml index 6666d020179..de0d255b888 100644 --- a/.github/workflows/ci-migrations.yml +++ b/.github/workflows/ci-migrations.yml @@ -152,13 +152,13 @@ jobs: - name: Set up Python if: steps.check.outputs.should_check == 'true' - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv if: steps.check.outputs.should_check == 'true' - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 # alembic, SQLAlchemy and asyncpg are core dependencies; no extra is # needed, the same install sync-postgres.yml runs before it migrates prod. diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml index 26b7ffa3a71..cdcaf1cd24f 100644 --- a/.github/workflows/ci-tests.yml +++ b/.github/workflows/ci-tests.yml @@ -114,7 +114,7 @@ jobs: # Unconditional: the spec check below runs on every event, and it imports # regen_gate, whose PEP 758 `except A, B:` parses on Python 3.14 only. - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' @@ -138,7 +138,7 @@ jobs: - name: Install uv if: steps.check.outputs.should_test == 'true' - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 # Before the install: `uv sync` would silently re-lock in the runner, while the # pipeline and the images install the committed lock with `--frozen`, so a @@ -213,7 +213,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 - name: Install dependencies run: uv sync --extra test --extra agents diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 3366dd0e3c3..c8ef831fd7d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Initialize CodeQL - uses: github/codeql-action/init@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 + uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 with: languages: ${{ matrix.language }} build-mode: none @@ -66,6 +66,6 @@ jobs: - plots/** - name: Perform CodeQL analysis - uses: github/codeql-action/analyze@6f2ac81f5cd81fe351a197ba0b00d91d03cd2aee # v4.39.0 + uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 with: category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/daily-regen.yml b/.github/workflows/daily-regen.yml index 4a9587bd265..b9fa03caa6c 100644 --- a/.github/workflows/daily-regen.yml +++ b/.github/workflows/daily-regen.yml @@ -132,7 +132,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' @@ -513,7 +513,7 @@ jobs: # block the main regeneration pipeline. Skip cleanly and continue. continue-on-error: true timeout-minutes: 15 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} @@ -592,7 +592,7 @@ jobs: # rather than aborting the dispatch. continue-on-error: true timeout-minutes: 15 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} diff --git a/.github/workflows/impl-generate.yml b/.github/workflows/impl-generate.yml index 2e00b069c93..0731cb0005f 100644 --- a/.github/workflows/impl-generate.yml +++ b/.github/workflows/impl-generate.yml @@ -400,12 +400,12 @@ jobs: # processing + metadata writing even for non-Python implementations). # ======================================================================== - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 - name: Install system dependencies run: | @@ -713,7 +713,7 @@ jobs: if: steps.inputs.outputs.source_ref == '' continue-on-error: true timeout-minutes: 60 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} @@ -798,7 +798,7 @@ jobs: if: steps.claude.outcome == 'failure' && steps.inputs.outputs.source_ref == '' && steps.claude_cost.outputs.stopped != 'true' id: claude_retry timeout-minutes: 60 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} diff --git a/.github/workflows/impl-merge.yml b/.github/workflows/impl-merge.yml index 2311b7f453e..2337bdcc5be 100644 --- a/.github/workflows/impl-merge.yml +++ b/.github/workflows/impl-merge.yml @@ -592,7 +592,7 @@ jobs: # on Python 3.14 only; the runner image's own python3 is not pinned. - name: Set up Python if: steps.branch.outputs.run == 'true' - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' diff --git a/.github/workflows/impl-repair.yml b/.github/workflows/impl-repair.yml index b8a3afb0b1b..27bc23e3f98 100644 --- a/.github/workflows/impl-repair.yml +++ b/.github/workflows/impl-repair.yml @@ -226,12 +226,12 @@ jobs: echo "::notice::Repair model: $MODEL (from $MODEL_FROM)" - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 - name: Install Python plotting dependencies if: steps.lang.outputs.language == 'python' @@ -290,7 +290,7 @@ jobs: id: claude continue-on-error: true timeout-minutes: 45 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} @@ -375,7 +375,7 @@ jobs: if: steps.claude.outcome == 'failure' && steps.claude_cost.outputs.stopped != 'true' id: claude_retry timeout-minutes: 45 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} diff --git a/.github/workflows/impl-review.yml b/.github/workflows/impl-review.yml index ee34b3aef83..7a3555c1fcd 100644 --- a/.github/workflows/impl-review.yml +++ b/.github/workflows/impl-review.yml @@ -118,7 +118,7 @@ jobs: # image's python3 is not pinned. From here on every `python3` and `pip` # in this job is the version in this ref's .python-version. - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' @@ -959,7 +959,7 @@ jobs: if: steps.adapt.outputs.review_skipped != 'true' continue-on-error: true timeout-minutes: 30 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 env: LIBRARY: ${{ steps.pr.outputs.library }} SPEC_ID: ${{ steps.pr.outputs.specification_id }} diff --git a/.github/workflows/report-validate.yml b/.github/workflows/report-validate.yml index 634911b9a89..c0d50c213e3 100644 --- a/.github/workflows/report-validate.yml +++ b/.github/workflows/report-validate.yml @@ -118,7 +118,7 @@ jobs: id: validate continue-on-error: true timeout-minutes: 10 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 env: ISSUE_TITLE: ${{ github.event.issue.title }} ISSUE_BODY: ${{ github.event.issue.body }} diff --git a/.github/workflows/review-retest.yml b/.github/workflows/review-retest.yml index fc6dbd86a81..89f7644c834 100644 --- a/.github/workflows/review-retest.yml +++ b/.github/workflows/review-retest.yml @@ -123,7 +123,7 @@ jobs: # review_retest, review_provenance and regen_gate use PEP 758 `except A, B:`, # which parses on Python 3.14 only; the runner image's python3 is not pinned. - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' @@ -293,7 +293,7 @@ jobs: persist-credentials: false - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' @@ -364,7 +364,7 @@ jobs: if: steps.cell.outcome == 'success' continue-on-error: true timeout-minutes: 25 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 env: LIBRARY: ${{ matrix.cell.library }} SPEC_ID: ${{ matrix.cell.spec_id }} @@ -506,7 +506,7 @@ jobs: persist-credentials: false - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version-file: '.python-version' diff --git a/.github/workflows/spec-create.yml b/.github/workflows/spec-create.yml index 35468587a48..17ceef9ce5e 100644 --- a/.github/workflows/spec-create.yml +++ b/.github/workflows/spec-create.yml @@ -152,7 +152,7 @@ jobs: id: process continue-on-error: true timeout-minutes: 30 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 env: ISSUE_TITLE: ${{ github.event.issue.title }} ISSUE_BODY: ${{ github.event.issue.body }} @@ -377,7 +377,7 @@ jobs: if: steps.check.outputs.should_run == 'true' && steps.process.outcome == 'failure' && steps.process_cost.outputs.stopped != 'true' id: process_retry timeout-minutes: 30 - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 env: ISSUE_TITLE: ${{ github.event.issue.title }} ISSUE_BODY: ${{ github.event.issue.body }} diff --git a/.github/workflows/sync-postgres.yml b/.github/workflows/sync-postgres.yml index 609513e4cff..3d963e358ab 100644 --- a/.github/workflows/sync-postgres.yml +++ b/.github/workflows/sync-postgres.yml @@ -42,12 +42,12 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Set up Python - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: '3.14' - name: Install uv - uses: astral-sh/setup-uv@1c37ad07a6a961277cf70c0d37d6f313000f5884 # v10.3.0 + uses: astral-sh/setup-uv@68559e99cc807c1eb7e9238fd43a15bba460eec2 # v10.3.3 - name: Install dependencies run: | diff --git a/.github/workflows/util-claude.yml b/.github/workflows/util-claude.yml index a479bc1a8e8..84192ebd848 100644 --- a/.github/workflows/util-claude.yml +++ b/.github/workflows/util-claude.yml @@ -100,7 +100,7 @@ jobs: - name: Run Claude Code id: claude continue-on-error: true - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }} @@ -177,7 +177,7 @@ jobs: - name: Retry Claude (on failure) if: steps.claude.outcome == 'failure' && steps.claude_cost.outputs.stopped != 'true' id: claude_retry - uses: anthropics/claude-code-action@db77d4d3c98f3f6380e7cd45ffba2342a3dbde3c # v1 + uses: anthropics/claude-code-action@d70510b174a1244958df0b03166a54912811f3e6 # v1 with: anthropic_api_key: ${{ steps.claude_auth.outputs.mode == 'api' && secrets.ANTHROPIC_API_KEY || '' }} claude_code_oauth_token: ${{ steps.claude_auth.outputs.mode == 'subscription' && secrets.CLAUDE_CODE_OAUTH_TOKEN || '' }}