diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index b46acf1..bf4c6af 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -36,7 +36,7 @@ jobs: git config --global --add safe.directory $GITHUB_WORKSPACE - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: persist-credentials: false @@ -46,7 +46,7 @@ jobs: ls -lh benches/ - name: Setup rust toolchain, cache and cargo-codspeed binary - uses: moonrepo/setup-rust@v1 + uses: moonrepo/setup-rust@abb2d32350334249b178c401e5ec5836e0cd88d3 # v1 with: channel: stable cache: false @@ -57,7 +57,7 @@ jobs: run: cargo codspeed build - name: Run the benchmarks - uses: CodSpeedHQ/action@v4 + uses: CodSpeedHQ/action@d872884a306dd4853acf0f584f4b706cf0cc72a2 # v4 with: mode: simulation run: cargo codspeed run diff --git a/.github/workflows/conventional-commits.yml b/.github/workflows/conventional-commits.yml index ee56395..75b9bb6 100644 --- a/.github/workflows/conventional-commits.yml +++ b/.github/workflows/conventional-commits.yml @@ -9,6 +9,6 @@ jobs: runs-on: ubuntu-latest steps: - name: PR Conventional Commit Validation - uses: ytanikin/pr-conventional-commits@1.5.1 + uses: ytanikin/pr-conventional-commits@fda730cb152c05a849d6d84325e50c6182d9d1e9 # 1.5.1 with: task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index b82147c..b8c1333 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: persist-credentials: false @@ -38,7 +38,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v6 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: persist-credentials: false @@ -51,13 +51,13 @@ jobs: name: Docs should build without warnings runs-on: ubuntu-24.04-arm steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - - uses: Swatinem/rust-cache@v2 + - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - name: Test that docs build without warnings run: cargo doc --all-features --document-private-items diff --git a/.github/workflows/python-docs-publish.yml b/.github/workflows/python-docs-publish.yml index 19170d4..ed7a9db 100644 --- a/.github/workflows/python-docs-publish.yml +++ b/.github/workflows/python-docs-publish.yml @@ -20,19 +20,19 @@ jobs: run: working-directory: python steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 # We need to additionally fetch the gh-pages branch for mike deploy with: fetch-depth: 0 submodules: "true" - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - - uses: Swatinem/rust-cache@v2 + - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - name: Install a specific version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: enable-cache: true version: "0.5.x" diff --git a/.github/workflows/python-wheels.yml b/.github/workflows/python-wheels.yml index 32ed3f4..ab3fb12 100644 --- a/.github/workflows/python-wheels.yml +++ b/.github/workflows/python-wheels.yml @@ -34,12 +34,12 @@ jobs: target: aarch64 manylinux: "2_28" steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: enable-cache: true version: "0.5.x" @@ -48,7 +48,7 @@ jobs: run: uv python install 3.10 3.13 pypy3.11 - name: Build abi3-py311 wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.13 --features abi3-py311 --features extension-module --manifest-path python/Cargo.toml @@ -63,7 +63,7 @@ jobs: fi - name: Build version-specific wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.10 -i pypy3.11 --features extension-module --manifest-path python/Cargo.toml @@ -78,7 +78,7 @@ jobs: fi - name: Upload wheels - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: wheels-linux-${{ matrix.platform.target }} path: dist @@ -93,12 +93,12 @@ jobs: - runner: ubuntu-latest target: x86 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: enable-cache: true version: "0.5.x" @@ -107,7 +107,7 @@ jobs: run: uv python install 3.10 3.13 pypy3.11 - name: Build abi3-py311 wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.13 --no-default-features --features abi3-py311 --features extension-module --manifest-path python/Cargo.toml @@ -115,7 +115,7 @@ jobs: manylinux: musllinux_1_2 - name: Build version-specific wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.10 -i pypy3.11 --no-default-features --features extension-module --manifest-path python/Cargo.toml @@ -123,7 +123,7 @@ jobs: manylinux: musllinux_1_2 - name: Upload wheels - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: wheels-musllinux-${{ matrix.platform.target }} path: dist @@ -136,14 +136,14 @@ jobs: - runner: windows-latest target: x64 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" # There seem to be linking errors on Windows with the uv-provided Python # executables, so we use the Python versions provided by github actions # for now. # Seems to be this question: https://stackoverflow.com/questions/78557803/python-with-rust-cannot-open-input-file-python3-lib - - uses: actions/setup-python@v6 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: 3.13 architecture: ${{ matrix.platform.target }} @@ -152,21 +152,21 @@ jobs: shell: pwsh - name: Build abi3-py311 wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.13 --features abi3-py311 --features extension-module --manifest-path python/Cargo.toml sccache: "true" - name: Build version-specific wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.10 --features extension-module --manifest-path python/Cargo.toml sccache: "true" - name: Upload wheels - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: wheels-windows-${{ matrix.platform.target }} path: dist @@ -181,12 +181,12 @@ jobs: - runner: macos-15 target: aarch64 steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: enable-cache: true version: "0.5.x" @@ -195,21 +195,21 @@ jobs: run: uv python install 3.10 3.13 pypy3.11 - name: Build abi3-py311 wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.13 --features abi3-py311 --features extension-module --manifest-path python/Cargo.toml sccache: "true" - name: Build version-specific wheels - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: target: ${{ matrix.platform.target }} args: --release --out dist -i 3.10 -i pypy3.11 --features extension-module --manifest-path python/Cargo.toml sccache: "true" - name: Upload wheels - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: wheels-macos-${{ matrix.platform.target }} path: dist @@ -217,11 +217,11 @@ jobs: sdist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Build sdist - uses: PyO3/maturin-action@v1 + uses: PyO3/maturin-action@04ac600d27cdf7a9a280dadf7147097c42b757ad # v1 with: command: sdist args: --out dist --manifest-path python/Cargo.toml @@ -229,7 +229,7 @@ jobs: run: | python -m pip install dist/*.tar.gz - name: Upload sdist - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: wheels-sdist path: dist @@ -246,14 +246,14 @@ jobs: if: startsWith(github.ref, 'refs/tags/') needs: [linux, musllinux, windows, macos, sdist] steps: - - uses: actions/download-artifact@v8 + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8 with: pattern: wheels-* merge-multiple: true path: dist - - uses: actions/setup-python@v6 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: 3.11 - name: Publish package distributions to PyPI - uses: pypa/gh-action-pypi-publish@release/v1 + uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # release/v1 diff --git a/.github/workflows/rust-release.yml b/.github/workflows/rust-release.yml index f12cf49..38c3982 100644 --- a/.github/workflows/rust-release.yml +++ b/.github/workflows/rust-release.yml @@ -11,8 +11,8 @@ jobs: permissions: id-token: write # Required for OIDC token exchange steps: - - uses: actions/checkout@v6 - - uses: rust-lang/crates-io-auth-action@v1 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 + - uses: rust-lang/crates-io-auth-action@b7e9a28eded4986ec6b1fa40eeee8f8f165559ec # v1 id: auth - run: cargo publish env: diff --git a/.github/workflows/test-python.yml b/.github/workflows/test-python.yml index d76273f..c0ed2ca 100644 --- a/.github/workflows/test-python.yml +++ b/.github/workflows/test-python.yml @@ -18,12 +18,12 @@ jobs: run: working-directory: python steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install a specific version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: version: "latest" @@ -33,7 +33,7 @@ jobs: run: uv run --group docs mkdocs build --strict # Use ruff-action so we get annotations in the Github UI - - uses: astral-sh/ruff-action@v3 + - uses: astral-sh/ruff-action@4919ec5cf1f49eff0871dbcea0da843445b837e6 # v3 with: src: "python" @@ -44,14 +44,14 @@ jobs: run: working-directory: python steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - - uses: Swatinem/rust-cache@v2 + - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - name: "cargo check" run: cargo check --all --all-features @@ -68,20 +68,20 @@ jobs: matrix: python-version: ["3.10", "3.11", "3.12", "3.13"] steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - - uses: Swatinem/rust-cache@v2 - - uses: actions/setup-python@v6 + - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: python-version: ${{ matrix.python-version }} - name: Install a specific version of uv - uses: astral-sh/setup-uv@v7 + uses: astral-sh/setup-uv@37802adc94f370d6bfd71619e3f0bf239e1f3b78 # v7 with: version: "latest" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 76d25e1..7bceb1c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,14 +15,14 @@ jobs: name: Test runs-on: ubuntu-latest steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 with: submodules: "recursive" - name: Install Rust - uses: dtolnay/rust-toolchain@stable + uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable - - uses: Swatinem/rust-cache@v2 + - uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2 - run: cargo install cargo-all-features