diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3cdcc33..b64ce68 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,10 +47,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 # Keyed on the Makefile because that is where the tool versions are # pinned; a bump there must miss the cache and reinstall, or the job would @@ -128,7 +128,7 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: ${{ matrix.python }} @@ -177,7 +177,7 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" @@ -201,10 +201,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 # perl is on the ubuntu runners, so TestPerlParity runs here rather than # skipping -- which makes this the one job that proves the parity fixtures @@ -221,10 +221,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: .venv-tools @@ -241,10 +241,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 with: path: .venv-tools @@ -266,10 +266,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 # ccache cuts a rebuild of unchanged C from minutes to seconds, and Nuitka # generates a great deal of C that does not change between runs. @@ -291,7 +291,7 @@ jobs: # the step that reads that report and round-trips each format. - run: make binary-check - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: leafdump-linux-x86_64 path: bin/leafdump diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 2a98425..b3e1ccf 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # archived would carry the credential with it. persist-credentials: false - - uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0 + - uses: github/codeql-action/init@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 with: languages: python # security-and-quality over the default security-extended: this is a @@ -54,6 +54,6 @@ jobs: # and their findings are actionable rather than noise. queries: security-and-quality - - uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0 + - uses: github/codeql-action/analyze@9b3254085494b55a0f7c4c2b3d2d52cc712ce370 # v4.39.1 with: category: "/language:python" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2d6e327..67b2e9a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -42,10 +42,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 # First, and before anything is built: this is the tag-versus-tree check. # A `v1.1.0` tag on a commit that still says 1.0.0 would otherwise upload @@ -58,7 +58,7 @@ jobs: # placement that covers what is actually shipped. - run: make sdist-check - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: dist path: dist/* @@ -82,10 +82,10 @@ jobs: # to. Nothing here needs to push, and a workspace that gets # archived would carry the credential with it. persist-credentials: false - - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 + - uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0 with: python-version: "3.13" - - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 + - uses: astral-sh/setup-uv@07a047e608db84b3d8c06cd9a7c7dcc9c355c18e # v10.3.2 # No ccache here, deliberately, and the contrast with ci.yml is the point. # GitHub's cache is writable from pull-request runs, so a release build @@ -104,7 +104,7 @@ jobs: - name: name the asset for the platform it runs on run: mv bin/leafdump "bin/${{ matrix.asset }}" - - uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: ${{ matrix.asset }} path: bin/${{ matrix.asset }} @@ -120,7 +120,7 @@ jobs: id-token: write # sign the provenance attestation attestations: write # record it steps: - - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: path: artifacts merge-multiple: true @@ -181,7 +181,7 @@ jobs: permissions: id-token: write # mint the OIDC token trusted publishing exchanges steps: - - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: dist path: dist @@ -189,7 +189,7 @@ jobs: # Only the sdist and wheel. The binaries are GitHub release assets and # have no place on a Python index; pointing this at the merged artifact # directory would try to upload them and fail. - - uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2 + - uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3 with: packages-dir: dist print-hash: true