Skip to content

Commit b41ec03

Browse files
committed
Pin every workflow action to a commit SHA
Previously only the workflows holding id-token: write were pinned, on the grounds that the rest had a smaller blast radius. That left CI and the publish path running different versions of the same actions, so a bad release would surface in a deploy rather than in a pull request. Pinning everything makes the version CI exercises the version that publishes. Dependabot moves them together.
1 parent ea1d37a commit b41ec03

4 files changed

Lines changed: 25 additions & 25 deletions

File tree

‎.github/workflows/e2e.yml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ jobs:
1111
runs-on: ubuntu-latest
1212
timeout-minutes: 15
1313
steps:
14-
- uses: actions/checkout@v7
14+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1515

16-
- uses: actions/setup-python@v7
16+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
1717
with:
1818
python-version: '3.12'
1919

2020
- run: pip install pytest
2121

2222
- name: Set up Docker Buildx
23-
uses: docker/setup-buildx-action@v3
23+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # v3
2424

2525
- name: Build E2E image (cached)
26-
uses: docker/build-push-action@v5
26+
uses: docker/build-push-action@ca052bb54ab0790a636c9b5f226502c73d547a25 # v5
2727
with:
2828
context: .
2929
file: tests/e2e/Dockerfile
@@ -39,7 +39,7 @@ jobs:
3939

4040
- name: Upload generated outputs on failure
4141
if: failure()
42-
uses: actions/upload-artifact@v7
42+
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
4343
with:
4444
name: e2e-outputs-linux
4545
path: /tmp/pytest-of-runner/**/container_work*/**
@@ -48,9 +48,9 @@ jobs:
4848
runs-on: windows-latest
4949
timeout-minutes: 15
5050
steps:
51-
- uses: actions/checkout@v7
51+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5252

53-
- uses: actions/setup-python@v7
53+
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
5454
with:
5555
python-version: '3.12'
5656

‎.github/workflows/lint-and-test.yml‎

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@ jobs:
1212
name: Black Formatting
1313
runs-on: ubuntu-latest
1414
steps:
15-
- uses: actions/checkout@v7
15+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1616
- name: Set up Python
17-
uses: actions/setup-python@v7
17+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
1818
with:
1919
python-version: ${{ env.PYTHON_VERSION }}
2020
- name: Cache pip
21-
uses: actions/cache@v6
21+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
2222
with:
2323
path: ~/.cache/pip
2424
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
@@ -33,13 +33,13 @@ jobs:
3333
name: Import Sorting
3434
runs-on: ubuntu-latest
3535
steps:
36-
- uses: actions/checkout@v7
36+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3737
- name: Set up Python
38-
uses: actions/setup-python@v7
38+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
3939
with:
4040
python-version: ${{ env.PYTHON_VERSION }}
4141
- name: Cache pip
42-
uses: actions/cache@v6
42+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
4343
with:
4444
path: ~/.cache/pip
4545
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
@@ -54,13 +54,13 @@ jobs:
5454
name: Flake8 Linting
5555
runs-on: ubuntu-latest
5656
steps:
57-
- uses: actions/checkout@v7
57+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5858
- name: Set up Python
59-
uses: actions/setup-python@v7
59+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
6060
with:
6161
python-version: ${{ env.PYTHON_VERSION }}
6262
- name: Cache pip
63-
uses: actions/cache@v6
63+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
6464
with:
6565
path: ~/.cache/pip
6666
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
@@ -75,13 +75,13 @@ jobs:
7575
name: MyPy Type Checking
7676
runs-on: ubuntu-latest
7777
steps:
78-
- uses: actions/checkout@v7
78+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
7979
- name: Set up Python
80-
uses: actions/setup-python@v7
80+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
8181
with:
8282
python-version: ${{ env.PYTHON_VERSION }}
8383
- name: Cache pip
84-
uses: actions/cache@v6
84+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
8585
with:
8686
path: ~/.cache/pip
8787
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
@@ -96,9 +96,9 @@ jobs:
9696
name: Run Tests
9797
runs-on: ubuntu-latest
9898
steps:
99-
- uses: actions/checkout@v7
99+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
100100
- name: Set up Python
101-
uses: actions/setup-python@v7
101+
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
102102
with:
103103
python-version: ${{ env.PYTHON_VERSION }}
104104
- name: Configure git for tests
@@ -107,7 +107,7 @@ jobs:
107107
git config --global user.name "Test Runner"
108108
git config --global init.defaultBranch main
109109
- name: Cache pip
110-
uses: actions/cache@v6
110+
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
111111
with:
112112
path: ~/.cache/pip
113113
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}

‎.github/workflows/lint-powershell.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
name: Parse under Windows PowerShell 5.1
1717
runs-on: windows-latest
1818
steps:
19-
- uses: actions/checkout@v7
19+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2020

2121
# The install scripts are fetched over HTTP and executed on stock Windows,
2222
# where powershell.exe (5.1) is the default shell. 5.1 reads BOM-less files
@@ -96,7 +96,7 @@ jobs:
9696
name: Parse under PowerShell 7
9797
runs-on: windows-latest
9898
steps:
99-
- uses: actions/checkout@v7
99+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
100100

101101
- name: Parse each script with 7
102102
shell: pwsh

‎.github/workflows/publish-install-script.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
1919

2020
steps:
21-
- uses: actions/checkout@v7
21+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
2222

2323
- name: Upload install scripts to R2
2424
env:

0 commit comments

Comments
 (0)