Skip to content

Commit b15eeb8

Browse files
committed
chore: pin all actions and enable zizmor in pre-commit
1 parent 0e79953 commit b15eeb8

File tree

8 files changed

+57
-45
lines changed

8 files changed

+57
-45
lines changed

.github/dependabot.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,22 @@ updates:
1010
- package-ecosystem: "pip"
1111
directory: "/"
1212
schedule:
13-
interval: "weekly"
14-
groups:
15-
pip:
16-
patterns:
17-
- "*"
13+
interval: "monthly"
14+
cooldown:
15+
default-days: 7
1816

1917
# Maintain dependencies for git submodule (base64)
2018
- package-ecosystem: "gitsubmodule"
2119
directory: "/"
2220
schedule:
23-
interval: "daily"
21+
interval: "weekly"
22+
cooldown:
23+
default-days: 7
2424

2525
# Maintain dependencies for GitHub Actions
2626
- package-ecosystem: "github-actions"
2727
directory: "/"
2828
schedule:
29-
interval: "weekly"
30-
groups:
31-
actions:
32-
patterns:
33-
- "*"
29+
interval: "monthly"
30+
cooldown:
31+
default-days: 7

.github/workflows/benchmark.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,21 @@ jobs:
3131
git config --global core.autocrlf false
3232
git config --global core.eol lf
3333
34-
- uses: actions/checkout@v6
34+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3535
with:
3636
submodules: recursive
3737
persist-credentials: false
3838

3939
- name: Install the latest version of uv
40-
uses: astral-sh/setup-uv@v7
40+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
4141

4242
- name: Build wheel
43-
uses: pypa/[email protected]
43+
uses: pypa/cibuildwheel@63fd63b352a9a8bdcc24791c9dbee952ee9a8abc # v3.3.0
4444
env:
4545
CIBW_ARCHS: "${{ matrix.archs }}"
4646
CIBW_BUILD: "cp312-${{ matrix.build }}*"
4747

48-
- uses: wntrblm/[email protected]
48+
- uses: wntrblm/nox@0eee2e45758dbd06d48ebb23476439f0f00e5cbd # 2025.11.12
4949
name: Install Nox
5050
with:
5151
python-versions: "3.12"
@@ -54,7 +54,7 @@ jobs:
5454
run: nox -s benchmark --install-only -- --wheel wheelhouse/*.whl
5555

5656
- name: Run benchmark
57-
uses: CodSpeedHQ/action@v4
57+
uses: CodSpeedHQ/action@dbda7111f8ac363564b0c51b992d4ce76bb89f2f # v4.5.2
5858
with:
5959
mode: instrumentation
6060
run: nox -s benchmark --reuse-existing-virtualenvs --no-install -- -v

.github/workflows/build-upload.yml

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ jobs:
2222
contents: read
2323
runs-on: ubuntu-24.04
2424
steps:
25-
- uses: actions/checkout@v6
25+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2626
with:
2727
persist-credentials: false
28-
- uses: actions/setup-python@v6
28+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
2929
with:
3030
python-version: "3.10"
31-
- uses: pre-commit/[email protected]
31+
- uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
3232

3333
build_wheels:
3434
name: ${{ matrix.build || matrix.platform }} ${{ matrix.archs }} wheels
@@ -93,16 +93,18 @@ jobs:
9393
git config --global core.autocrlf false
9494
git config --global core.eol lf
9595
96-
- uses: actions/checkout@v6
96+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
9797
with:
9898
submodules: recursive
9999
persist-credentials: false
100100

101101
- name: Install the latest version of uv
102-
uses: astral-sh/setup-uv@v7
102+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
103+
with:
104+
enable-cache: false
103105

104106
- name: Set up QEMU
105-
uses: docker/[email protected]
107+
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # v3.7.0
106108
if: runner.os == 'Linux' && runner.arch == 'X64'
107109

108110
# https://github.blog/changelog/2024-04-02-github-actions-hardware-accelerated-android-virtualization-now-available/
@@ -124,21 +126,21 @@ jobs:
124126
# see https://cibuildwheel.pypa.io/en/stable/faq/#macos-building-cpython-38-wheels-on-arm64
125127
- name: "Install python 3.8 universal2 on macOS arm64"
126128
if: runner.os == 'macOS' && runner.arch == 'ARM64'
127-
uses: actions/setup-python@v6
129+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
128130
env:
129131
PIP_DISABLE_PIP_VERSION_CHECK: 1
130132
with:
131133
python-version: 3.8
132134

133135
- name: Build wheels
134-
uses: pypa/[email protected]
136+
uses: pypa/cibuildwheel@63fd63b352a9a8bdcc24791c9dbee952ee9a8abc # v3.3.0
135137
env:
136138
CIBW_ARCHS: "${{ matrix.archs }}"
137139
CIBW_BUILD: "${{ matrix.build && '*-' || ''}}${{ matrix.build }}*"
138140
CIBW_ENABLE: "${{ startsWith(github.ref, 'refs/tags/v') && '' || 'cpython-prerelease'}}"
139141
CIBW_PLATFORM: "${{ matrix.platform }}"
140142

141-
- uses: actions/upload-artifact@v6
143+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
142144
with:
143145
name: "${{ (matrix.platform != 'pyodide') && 'pypi' || 'cibw' }}-wheels ${{ matrix.build || matrix.platform }} ${{ matrix.archs }}"
144146
path: ./wheelhouse/*.whl
@@ -152,18 +154,20 @@ jobs:
152154
env:
153155
CIBUILDWHEEL: 1 # make C extension mandatory
154156
steps:
155-
- uses: actions/checkout@v6
157+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
156158
with:
157159
submodules: recursive
158160
persist-credentials: false
159161

160162
- name: Install the latest version of uv
161-
uses: astral-sh/setup-uv@v7
163+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
164+
with:
165+
enable-cache: false
162166

163167
- name: Build sdist
164168
run: uvx --from build pyproject-build --installer uv --sdist
165169

166-
- uses: actions/setup-python@v6
170+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
167171
name: Install Python
168172
with:
169173
python-version: "3.11"
@@ -177,19 +181,24 @@ jobs:
177181
python -m pip install --group test
178182
pytest
179183
180-
- uses: actions/upload-artifact@v6
184+
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
181185
with:
182186
name: pypi-sdist
183187
path: dist/*.tar.gz
184188

185189
check_dist:
190+
if: always()
186191
name: Check dist
187192
needs: [build_wheels, build_sdist]
188193
permissions:
189194
contents: read
190195
runs-on: ubuntu-24.04
191196
steps:
192-
- uses: actions/download-artifact@v7
197+
- name: Decide whether the needed jobs succeeded or failed
198+
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
199+
with:
200+
jobs: ${{ toJSON(needs) }}
201+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
193202
with:
194203
# unpacks all PyPI artifacts into dist/
195204
pattern: pypi-*
@@ -201,7 +210,7 @@ jobs:
201210
EXPECTED_WHEEL_COUNT=${{ startsWith(github.ref, 'refs/tags/v') && '214' || '214' }}
202211
test ${WHEEL_COUNT} -eq ${EXPECTED_WHEEL_COUNT}
203212
pipx run twine check --strict dist/*
204-
- uses: actions/download-artifact@v7
213+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
205214
with:
206215
# unpacks all non PyPI artifacts into nodist/
207216
pattern: cibw-*
@@ -225,14 +234,14 @@ jobs:
225234
permissions:
226235
id-token: write # trusted publishing + attestations
227236
steps:
228-
- uses: actions/download-artifact@v7
237+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
229238
with:
230239
# unpacks all PyPI artifacts into dist/
231240
pattern: pypi-*
232241
path: dist
233242
merge-multiple: true
234243
- name: Upload to Test PyPI
235-
uses: pypa/[email protected]
244+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
236245
with:
237246
skip-existing: true
238247
repository-url: https://test.pypi.org/legacy/
@@ -248,13 +257,13 @@ jobs:
248257
permissions:
249258
id-token: write # trusted publishing + attestations
250259
steps:
251-
- uses: actions/download-artifact@v7
260+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
252261
with:
253262
# unpacks all PyPI artifacts into dist/
254263
pattern: pypi-*
255264
path: dist
256265
merge-multiple: true
257266
- name: Upload to PyPI
258-
uses: pypa/[email protected]
267+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0
259268
with:
260269
skip-existing: true

.github/workflows/coverage.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@ jobs:
1919
name: Coverage
2020
runs-on: ubuntu-24.04
2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2323
with:
2424
submodules: recursive
2525
persist-credentials: false
2626

2727
- name: Install the latest version of uv
28-
uses: astral-sh/setup-uv@v7
28+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
2929

30-
- uses: wntrblm/[email protected]
30+
- uses: wntrblm/nox@0eee2e45758dbd06d48ebb23476439f0f00e5cbd # 2025.11.12
3131
with:
3232
python-versions: "3.14, 3.15, pypy3.10, pypy3.11"
3333

@@ -45,7 +45,7 @@ jobs:
4545
run: nox -s coverage -- --with-sde
4646

4747
- name: Upload coverage to codecov
48-
uses: codecov/codecov-action@v5
48+
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
4949
with:
5050
files: coverage-native.xml,coverage-python.xml
5151
token: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/msys2.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ jobs:
2626
- { sys: ucrt64, env: mingw-w64-ucrt-x86_64- }
2727
- { sys: clang64, env: mingw-w64-clang-x86_64- }
2828
steps:
29-
- uses: actions/checkout@v6
29+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
3030
with:
3131
submodules: recursive
3232
persist-credentials: false
3333
- name: 'Setup MSYS2'
34-
uses: msys2/setup-msys2@v2
34+
uses: msys2/setup-msys2@4f806de0a5a7294ffabaff804b38a9b435a73bda # v2.30.0
3535
with:
3636
msystem: ${{matrix.sys}}
3737
update: true

.github/workflows/test.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ jobs:
1919
name: Test
2020
runs-on: ubuntu-24.04
2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2323
with:
2424
submodules: recursive
2525
persist-credentials: false
2626
- name: Install the latest version of uv
27-
uses: astral-sh/setup-uv@v7
28-
- uses: wntrblm/[email protected]
27+
uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
28+
- uses: wntrblm/nox@0eee2e45758dbd06d48ebb23476439f0f00e5cbd # 2025.11.12
2929
with:
3030
python-versions: "3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, 3.15, 3.15t, pypy3.9, pypy3.10, pypy3.11"
3131
- name: "Run tests"

.github/workflows/valgrind.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
name: Valgrind
2020
runs-on: ubuntu-24.04
2121
steps:
22-
- uses: actions/checkout@v6
22+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
2323
with:
2424
submodules: recursive
2525
persist-credentials: false

.pre-commit-config.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,8 @@ repos:
6565
- nox
6666
- pytest
6767
- types-setuptools
68+
69+
- repo: https://github.com/zizmorcore/zizmor-pre-commit
70+
rev: v1.19.0
71+
hooks:
72+
- id: zizmor

0 commit comments

Comments
 (0)