diff --git a/.github/workflows/actions.lock b/.github/workflows/actions.lock index 3f864c3..0223270 100644 --- a/.github/workflows/actions.lock +++ b/.github/workflows/actions.lock @@ -7,33 +7,33 @@ workflows: - 'actions/checkout@v7.0.1' - 'actions/download-artifact@v8.0.2' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' - 'pyo3/maturin-action@v1.51.0' '.github/workflows/check.yaml': - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/ci.yaml': - 'actions/cache@v6.1.0' - 'actions/checkout@v7.0.1' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/codeql-self.yaml': [] '.github/workflows/codeql.yaml': - 'actions/checkout@v7.0.1' - - 'github/codeql-action@v4.39.1' + - 'github/codeql-action@v4.39.2' '.github/workflows/cooled-hooks.yaml': - 'actions/cache@v6.1.0' - 'actions/checkout@v7.0.1' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/github-release.yaml': - 'actions/download-artifact@v8.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/jetbrains-plugin-check.yaml': - 'actions/cache@v6.1.0' - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'gradle/actions@v6.4.0' - - 'jdx/mise-action@v5.2.4' + - 'gradle/actions@v6.4.1' + - 'jdx/mise-action@v5.2.6' - 'lumbroso-commons/free-disk-space@v2.0.0' '.github/workflows/latex-to-pages.yaml': - 'actions/checkout@v7.0.1' @@ -43,18 +43,18 @@ workflows: - 'xu-cheng/latex-action@4.1.0' '.github/workflows/news.yaml': - 'actions/checkout@v7.0.1' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/open-maintenance-pr.yaml': - 'actions/checkout@v7.0.1' - 'actions/create-github-app-token@v3.3.0' - 'actions/download-artifact@v8.0.2' '.github/workflows/prepare-release-creator.yaml': - - 'actions-rust-lang/setup-rust-toolchain@v2.0.0' + - 'actions-rust-lang/setup-rust-toolchain@v2.0.1' - 'actions/checkout@v7.0.1' - 'actions/create-github-app-token@v3.3.0' - 'actions/download-artifact@v8.0.2' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' - 'baptiste0928/cargo-install@v3.5.0' '.github/workflows/prepare-release.yaml': [] '.github/workflows/prepare-towncrier-release.yaml': @@ -62,44 +62,44 @@ workflows: - 'actions/create-github-app-token@v3.3.0' - 'actions/download-artifact@v8.0.2' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/publish-pre-commit-mirror.yaml': - 'actions/checkout@v7.0.1' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/release-notes.yaml': - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/release.yaml': - 'actions/checkout@v7.0.1' - 'actions/download-artifact@v8.0.2' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/scorecard.yaml': - 'actions/checkout@v7.0.1' - - 'github/codeql-action@v4.39.1' + - 'github/codeql-action@v4.39.2' - 'ossf/scorecard-action@v2.5.0' '.github/workflows/update-python-dependencies.yaml': - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/update-tools.yaml': [] '.github/workflows/upgrade-release-tools.yaml': - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' '.github/workflows/validate-python-release.yaml': - 'actions/checkout@v7.0.1' - 'actions/upload-artifact@v7.0.2' - - 'astral-sh/setup-uv@v10.3.2' + - 'astral-sh/setup-uv@v10.3.3' dependencies: - 'actions-rust-lang/setup-rust-toolchain@v2.0.0': - ref: 'v2.0.0' - commit: 'sha1-ecabd13d1c56bd1345c230e542e9144811ad706f' + 'actions-rust-lang/setup-rust-toolchain@v2.0.1': + ref: 'v2.0.1' + commit: 'sha1-a188e68d0fd2bd36ad51dccb2b07ba6e75105f30' owner_id: 103899579 repo_id: 482610590 uses: - - 'swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6' + - 'swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0' 'actions/cache@v6.1.0': ref: 'v6.1.0' commit: 'sha1-55cc8345863c7cc4c66a329aec7e433d2d1c52a9' @@ -125,9 +125,9 @@ dependencies: commit: 'sha1-cf430e030ddbb5b0abf93d22962f4752f3646cd9' owner_id: 44036562 repo_id: 192625955 - 'astral-sh/setup-uv@v10.3.2': - ref: 'v10.3.2' - commit: 'sha1-07a047e608db84b3d8c06cd9a7c7dcc9c355c18e' + 'astral-sh/setup-uv@v10.3.3': + ref: 'v10.3.3' + commit: 'sha1-68559e99cc807c1eb7e9238fd43a15bba460eec2' owner_id: 115962839 repo_id: 846733598 'baptiste0928/cargo-install@v3.5.0': @@ -135,14 +135,14 @@ dependencies: commit: 'sha1-8195d4f734a149db85385bb4102b42efcd373759' owner_id: 22115890 repo_id: 429360691 - 'github/codeql-action@v4.39.1': - ref: 'v4.39.1' - commit: 'sha1-9b3254085494b55a0f7c4c2b3d2d52cc712ce370' + 'github/codeql-action@v4.39.2': + ref: 'v4.39.2' + commit: 'sha1-1fc58d04a4d4374f921bdac573c3811c240f9c26' owner_id: 9919 repo_id: 259445878 - 'gradle/actions@v6.4.0': - ref: 'v6.4.0' - commit: 'sha1-3f5f9adaf7d9fecd50b5935e54106014257a94e6' + 'gradle/actions@v6.4.1': + ref: 'v6.4.1' + commit: 'sha1-8da46b539cd8fe6ab27ca75128919a18d757604c' owner_id: 124156 repo_id: 743626948 'jamesives/github-pages-deploy-action@v4.9.0': @@ -150,9 +150,9 @@ dependencies: commit: 'sha1-fa24774553152dd7873cd16ebd8d959b010c5445' owner_id: 10888441 repo_id: 173468816 - 'jdx/mise-action@v5.2.4': - ref: 'v5.2.4' - commit: 'sha1-6be3c7ed4c21d4f76b208d351d95aac273ebb76d' + 'jdx/mise-action@v5.2.6': + ref: 'v5.2.6' + commit: 'sha1-f5be966e4a917d54244728e6a5fdcd1d93a35e6c' owner_id: 216188 repo_id: 738284564 'lumbroso-commons/free-disk-space@v2.0.0': @@ -170,9 +170,9 @@ dependencies: commit: 'sha1-e83996d129638aa358a18fbd1dfb82f0b0fb5d3b' owner_id: 28156855 repo_id: 363801746 - 'swatinem/rust-cache@6323deb102c322ba6fcbdcafc7e3dddab59af2b6': - ref: 'v2.9.2' - commit: 'sha1-6323deb102c322ba6fcbdcafc7e3dddab59af2b6' + 'swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0': + ref: 'v2.9.3' + commit: 'sha1-d1527c8f67ef9af357290475d4af4b0fab8f12e0' owner_id: 580492 repo_id: 298565987 'xu-cheng/latex-action@4.1.0': diff --git a/.github/workflows/build-maturin-wheels.yaml b/.github/workflows/build-maturin-wheels.yaml index 9401411..8d901d4 100644 --- a/.github/workflows/build-maturin-wheels.yaml +++ b/.github/workflows/build-maturin-wheels.yaml @@ -57,7 +57,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" @@ -117,7 +117,7 @@ jobs: with: artifact-ids: ${{ needs.source.outputs.artifact-id }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 env: UV_VENV_SEED: "true" with: @@ -167,7 +167,7 @@ jobs: with: artifact-ids: ${{ needs.source.outputs.artifact-id }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index dde2a30..49eaa40 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -71,7 +71,7 @@ jobs: sudo apt-get update sudo apt-get install -y ${packages[@]+"${packages[@]}"} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dcc2721..948581d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -29,7 +29,7 @@ jobs: path: ~/.cache/prek key: prek-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.pre-commit-config.yaml') }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" @@ -74,7 +74,7 @@ jobs: fetch-depth: 1 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" @@ -96,7 +96,7 @@ jobs: with: persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/codeql.yaml b/.github/workflows/codeql.yaml index e4fa4fe..413dfb5 100644 --- a/.github/workflows/codeql.yaml +++ b/.github/workflows/codeql.yaml @@ -40,7 +40,7 @@ jobs: with: persist-credentials: false - name: ๐Ÿ›ก๏ธ Initialize CodeQL - uses: github/codeql-action/init@v4.39.1 + uses: github/codeql-action/init@v4.39.2 with: languages: ${{ matrix.language }} build-mode: ${{ inputs.build-mode }} @@ -48,6 +48,6 @@ jobs: config-file: ${{ inputs.config-file }} config: "${{ inputs.config-file == '' && format('paths-ignore: {0}', inputs.paths-ignore) || '' }}" - name: ๐Ÿ›ก๏ธ Analyze - uses: github/codeql-action/analyze@v4.39.1 + uses: github/codeql-action/analyze@v4.39.2 with: category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/cooled-hooks.yaml b/.github/workflows/cooled-hooks.yaml index 127bf7d..b06a371 100644 --- a/.github/workflows/cooled-hooks.yaml +++ b/.github/workflows/cooled-hooks.yaml @@ -30,7 +30,7 @@ jobs: # A changed hook or cutoff exception misses the cache, so its environment builds under the cutoff again. key: prek-cooled-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('.pre-commit-config.yaml', 'pyproject.toml') }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/github-release.yaml b/.github/workflows/github-release.yaml index a2a6a32..cb504ef 100644 --- a/.github/workflows/github-release.yaml +++ b/.github/workflows/github-release.yaml @@ -63,7 +63,7 @@ jobs: artifact-ids: ${{ inputs.notes-artifact-id }} path: ${{ runner.temp }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/jetbrains-plugin-check.yaml b/.github/workflows/jetbrains-plugin-check.yaml index e917c13..7dcac11 100644 --- a/.github/workflows/jetbrains-plugin-check.yaml +++ b/.github/workflows/jetbrains-plugin-check.yaml @@ -49,12 +49,12 @@ jobs: with: persist-credentials: false - name: ๐Ÿงฐ Set up mise (JDKs) - uses: jdx/mise-action@v5.2.4 + uses: jdx/mise-action@v5.2.6 with: cache: false # The build feeds the signed release, so Gradle's cache stays off to keep a cached artifact out of it. - name: โ˜• Set up Gradle - uses: gradle/actions/setup-gradle@v6.4.0 + uses: gradle/actions/setup-gradle@v6.4.1 with: cache-disabled: true - name: ๐Ÿท๏ธ Set plugin version @@ -114,9 +114,9 @@ jobs: with: persist-credentials: false - name: ๐Ÿงฐ Set up mise (JDKs) - uses: jdx/mise-action@v5.2.4 + uses: jdx/mise-action@v5.2.6 - name: โ˜• Set up Gradle - uses: gradle/actions/setup-gradle@v6.4.0 + uses: gradle/actions/setup-gradle@v6.4.1 - name: ๐Ÿ’พ Cache verifier IDEs uses: actions/cache@v6.1.0 with: @@ -154,9 +154,9 @@ jobs: with: persist-credentials: false - name: ๐Ÿงฐ Set up mise (JDKs) - uses: jdx/mise-action@v5.2.4 + uses: jdx/mise-action@v5.2.6 - name: โ˜• Set up Gradle - uses: gradle/actions/setup-gradle@v6.4.0 + uses: gradle/actions/setup-gradle@v6.4.1 - name: ๐Ÿ—๏ธ Build test IDE sandbox run: ./gradlew --console=plain buildPlugin compileTestKotlin - name: ๐Ÿงช Run UI tests diff --git a/.github/workflows/news.yaml b/.github/workflows/news.yaml index ea11595..209422b 100644 --- a/.github/workflows/news.yaml +++ b/.github/workflows/news.yaml @@ -16,7 +16,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/prepare-release-creator.yaml b/.github/workflows/prepare-release-creator.yaml index 10e867f..3ec8ded 100644 --- a/.github/workflows/prepare-release-creator.yaml +++ b/.github/workflows/prepare-release-creator.yaml @@ -83,7 +83,7 @@ jobs: persist-credentials: false ref: ${{ github.sha }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" @@ -97,7 +97,7 @@ jobs: exclude-newer-package: ${{ inputs.exclude-newer-package }} - name: ๐Ÿฆ€ Install Rust toolchain if: ${{ inputs.cargo-set-version }} - uses: actions-rust-lang/setup-rust-toolchain@v2.0.0 + uses: actions-rust-lang/setup-rust-toolchain@v2.0.1 with: cache: false - name: ๐Ÿฆ€ Install cargo-edit diff --git a/.github/workflows/prepare-towncrier-release.yaml b/.github/workflows/prepare-towncrier-release.yaml index d0274f7..036ceed 100644 --- a/.github/workflows/prepare-towncrier-release.yaml +++ b/.github/workflows/prepare-towncrier-release.yaml @@ -61,7 +61,7 @@ jobs: persist-credentials: false ref: ${{ github.sha }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/publish-pre-commit-mirror.yaml b/.github/workflows/publish-pre-commit-mirror.yaml index 0436440..7a68b04 100644 --- a/.github/workflows/publish-pre-commit-mirror.yaml +++ b/.github/workflows/publish-pre-commit-mirror.yaml @@ -35,7 +35,7 @@ jobs: with: persist-credentials: false - name: ๐Ÿ“ฆ Install uv - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: "0.13.7" enable-cache: false diff --git a/.github/workflows/release-notes.yaml b/.github/workflows/release-notes.yaml index af10181..3590972 100644 --- a/.github/workflows/release-notes.yaml +++ b/.github/workflows/release-notes.yaml @@ -50,7 +50,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index d3531f1..16246a5 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -22,7 +22,7 @@ jobs: fetch-depth: 0 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index a659518..e0183c5 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -27,6 +27,6 @@ jobs: results_format: sarif publish_results: true - name: ๐Ÿ›ก๏ธ Upload Scorecard results to code scanning - uses: github/codeql-action/upload-sarif@v4.39.1 + uses: github/codeql-action/upload-sarif@v4.39.2 with: sarif_file: results.sarif diff --git a/.github/workflows/update-python-dependencies.yaml b/.github/workflows/update-python-dependencies.yaml index 444c702..6253b8c 100644 --- a/.github/workflows/update-python-dependencies.yaml +++ b/.github/workflows/update-python-dependencies.yaml @@ -75,7 +75,7 @@ jobs: fetch-depth: 1 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/upgrade-release-tools.yaml b/.github/workflows/upgrade-release-tools.yaml index bf97ad4..1bd74e2 100644 --- a/.github/workflows/upgrade-release-tools.yaml +++ b/.github/workflows/upgrade-release-tools.yaml @@ -64,7 +64,7 @@ jobs: fetch-depth: 1 persist-credentials: false - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/.github/workflows/validate-python-release.yaml b/.github/workflows/validate-python-release.yaml index ba47f65..859fc63 100644 --- a/.github/workflows/validate-python-release.yaml +++ b/.github/workflows/validate-python-release.yaml @@ -40,7 +40,7 @@ jobs: persist-credentials: false ref: ${{ github.sha }} - name: ๐Ÿ Install uv and Python - uses: astral-sh/setup-uv@v10.3.2 + uses: astral-sh/setup-uv@v10.3.3 with: version: latest-known python-version: "3.15" diff --git a/tests/codeql_workflow/test_codeql.py b/tests/codeql_workflow/test_codeql.py index 6c9c28d..dcf7290 100644 --- a/tests/codeql_workflow/test_codeql.py +++ b/tests/codeql_workflow/test_codeql.py @@ -3,13 +3,12 @@ from typing import Final import pytest -from conftest import WORKFLOWS, JsonObject, at, load_yaml, mapping, step +from conftest import WORKFLOWS, JsonObject, at, load_yaml, mapping, step, text REUSABLE: Final[JsonObject] = load_yaml(WORKFLOWS / "codeql.yaml") CALLER: Final[JsonObject] = load_yaml(WORKFLOWS / "codeql-self.yaml") INPUTS: Final[JsonObject] = mapping(at(REUSABLE, "on", "workflow_call", "inputs")) ANALYZE: Final[JsonObject] = mapping(at(REUSABLE, "jobs", "analyze")) -CODEQL_REF: Final = "v4.39.1" @pytest.mark.parametrize( @@ -38,7 +37,7 @@ def test_analysis_needs_security_events_write_from_caller() -> None: def test_init_receives_each_input() -> None: init = step(REUSABLE, "analyze", "๐Ÿ›ก๏ธ Initialize CodeQL") - assert init["uses"] == f"github/codeql-action/init@{CODEQL_REF}" + assert text(init["uses"]).startswith("github/codeql-action/init@") assert at(init, "with", "languages") == "${{ matrix.language }}" assert at(init, "with", "build-mode") == "${{ inputs.build-mode }}" assert at(init, "with", "queries") == "${{ inputs.queries }}" @@ -67,8 +66,9 @@ def test_paths_ignore_input_is_valid_codeql_yaml(tmp_path: Path, paths_ignore: s def test_analyze_uses_the_same_pinned_release() -> None: + init = step(REUSABLE, "analyze", "๐Ÿ›ก๏ธ Initialize CodeQL") analyze = step(REUSABLE, "analyze", "๐Ÿ›ก๏ธ Analyze") - assert analyze["uses"] == f"github/codeql-action/analyze@{CODEQL_REF}" + assert analyze["uses"] == text(init["uses"]).replace("/init@", "/analyze@") assert analyze["with"] == {"category": "/language:${{ matrix.language }}"} diff --git a/tests/release_workflow/test_graph.py b/tests/release_workflow/test_graph.py index 54c5ecf..8cf284c 100644 --- a/tests/release_workflow/test_graph.py +++ b/tests/release_workflow/test_graph.py @@ -13,8 +13,8 @@ def test_release_writer_has_only_notes_and_reconciler() -> None: publish = workflow["jobs"]["publish"] assert publish["permissions"] == {"contents": "write"} assert publish["needs"] == "notes" - assert [step.get("uses", step.get("name")) for step in publish["steps"]] == [ - "actions/download-artifact@v8.0.2", + assert [step.get("uses", step.get("name")).split("@")[0] for step in publish["steps"]] == [ + "actions/download-artifact", "$/publish-github-release", ] assert publish["steps"][-1]["with"]["commit"] == "${{ github.sha }}"