Skip to content

Commit 6948be1

Browse files
authored
Pin GitHub Actions and cap uv deps (#1458)
* Pin GitHub Actions and cap uv deps * Exclude reusable workflows from SHA pinning
1 parent e62a7f1 commit 6948be1

5 files changed

Lines changed: 54 additions & 52 deletions

File tree

.github/workflows/build-binaries.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,23 @@ jobs:
3030
package-suffix: windows-amd64
3131
runs-on: ${{ matrix.runsOn || matrix.os }}
3232
steps:
33-
- uses: actions/checkout@v4
33+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
3434
with:
3535
submodules: recursive
36-
- uses: actions/setup-python@v5
36+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
3737
with:
3838
python-version: "3.14"
3939

4040
# Install Rust locally for non-Linux (Linux uses an internal docker
4141
# command to build with cibuildwheel which uses rustup install defined
4242
# in pyproject.toml)
4343
- if: ${{ runner.os != 'Linux' }}
44-
uses: dtolnay/rust-toolchain@stable
44+
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
4545
- if: ${{ runner.os != 'Linux' }}
46-
uses: Swatinem/rust-cache@v2
46+
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
4747
with:
4848
workspaces: temporalio/bridge -> target
49-
- uses: astral-sh/setup-uv@v5
49+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
5050
- run: uv sync --all-extras
5151

5252
# Add the source dist only for Linux x64 for now
@@ -73,7 +73,7 @@ jobs:
7373
./.venv/$bindir/python -m pytest -s tests/worker/test_workflow.py -k test_workflow_hello
7474
7575
# Upload dist
76-
- uses: actions/upload-artifact@v4
76+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
7777
with:
7878
name: packages-${{ matrix.package-suffix }}
7979
path: dist

.github/workflows/ci.yml

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -38,24 +38,24 @@ jobs:
3838
runsOn: macos-latest
3939
runs-on: ${{ matrix.runsOn || matrix.os }}
4040
steps:
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
4242
with:
4343
submodules: recursive
44-
- uses: dtolnay/rust-toolchain@stable
44+
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
4545
with:
4646
components: "clippy"
47-
- uses: Swatinem/rust-cache@v2
47+
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
4848
with:
4949
workspaces: temporalio/bridge -> target
50-
- uses: actions/setup-python@v5
50+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
5151
with:
5252
python-version: ${{ matrix.pythonOverride || matrix.python }}
53-
- uses: arduino/setup-protoc@v3
53+
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
5454
with:
5555
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
5656
version: "23.x"
5757
repo-token: ${{ secrets.GITHUB_TOKEN }}
58-
- uses: astral-sh/setup-uv@v5
58+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
5959
- run: uv tool install poethepoet
6060
- run: uv sync --all-extras
6161
- run: poe bridge-lint
@@ -75,7 +75,7 @@ jobs:
7575
env:
7676
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
7777
- name: "Upload junit-xml artifacts"
78-
uses: actions/upload-artifact@v4
78+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
7979
if: always()
8080
with:
8181
name: junit-xml--${{github.run_id}}--${{github.run_attempt}}--${{ matrix.python }}--${{ matrix.os }}
@@ -94,7 +94,7 @@ jobs:
9494
run: npx vercel deploy build/apidocs -t ${{ secrets.VERCEL_TOKEN }} --prod --yes
9595

9696
# Confirm README ToC is generated properly
97-
- uses: actions/setup-node@v4
97+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4
9898
- name: Check generated README ToC
9999
if: ${{ matrix.docsTarget }}
100100
run: |
@@ -105,22 +105,22 @@ jobs:
105105
timeout-minutes: 30
106106
runs-on: ubuntu-latest
107107
steps:
108-
- uses: actions/checkout@v4
108+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
109109
with:
110110
submodules: recursive
111-
- uses: dtolnay/rust-toolchain@stable
112-
- uses: Swatinem/rust-cache@v2
111+
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
112+
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
113113
with:
114114
workspaces: temporalio/bridge -> target
115-
- uses: actions/setup-python@v5
115+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
116116
with:
117117
python-version: "3.10"
118-
- uses: arduino/setup-protoc@v3
118+
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
119119
with:
120120
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
121121
version: "23.x"
122122
repo-token: ${{ secrets.GITHUB_TOKEN }}
123-
- uses: astral-sh/setup-uv@v5
123+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
124124
- run: uv tool install poethepoet
125125
- run: uv remove google-adk --optional google-adk
126126
- run: uv add --python 3.10 "protobuf<4"
@@ -139,24 +139,24 @@ jobs:
139139
timeout-minutes: 30
140140
runs-on: ubuntu-latest
141141
steps:
142-
- uses: actions/checkout@v4
142+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
143143
with:
144144
submodules: recursive
145-
- uses: dtolnay/rust-toolchain@stable
145+
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
146146
with:
147147
components: "clippy"
148-
- uses: Swatinem/rust-cache@v2
148+
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
149149
with:
150150
workspaces: temporalio/bridge -> target
151-
- uses: actions/setup-python@v5
151+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
152152
with:
153153
python-version: "3.13"
154-
- uses: arduino/setup-protoc@v3
154+
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
155155
with:
156156
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
157157
version: "23.x"
158158
repo-token: ${{ secrets.GITHUB_TOKEN }}
159-
- uses: astral-sh/setup-uv@v5
159+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
160160
- run: uv tool install poethepoet
161161
- run: uv lock --upgrade
162162
- run: uv sync --all-extras
@@ -166,7 +166,7 @@ jobs:
166166
- run: poe test -s --junit-xml=junit-xml/latest-deps.xml
167167
timeout-minutes: 15
168168
- name: "Upload junit-xml artifacts"
169-
uses: actions/upload-artifact@v4
169+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
170170
if: always()
171171
with:
172172
name: junit-xml--${{github.run_id}}--${{github.run_attempt}}--latest-deps--time-skipping
@@ -179,22 +179,22 @@ jobs:
179179
timeout-minutes: 15
180180
runs-on: ubuntu-latest
181181
steps:
182-
- uses: actions/checkout@v4
182+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
183183
with:
184184
submodules: recursive
185-
- uses: dtolnay/rust-toolchain@stable
186-
- uses: Swatinem/rust-cache@v2
185+
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
186+
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
187187
with:
188188
workspaces: temporalio/bridge -> target
189-
- uses: actions/setup-python@v5
189+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
190190
with:
191191
python-version: "3.14"
192-
- uses: arduino/setup-protoc@v3
192+
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
193193
with:
194194
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
195195
version: "23.x"
196196
repo-token: ${{ secrets.GITHUB_TOKEN }}
197-
- uses: astral-sh/setup-uv@v5
197+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
198198
- run: uv tool install poethepoet
199199
- run: uv sync --all-extras
200200
- run: poe build-develop
@@ -209,7 +209,7 @@ jobs:
209209
TEMPORAL_CLIENT_CERT: ${{ secrets.TEMPORAL_CLIENT_CERT }}
210210
TEMPORAL_CLIENT_KEY: ${{ secrets.TEMPORAL_CLIENT_KEY }}
211211
- name: "Upload junit-xml artifacts"
212-
uses: actions/upload-artifact@v4
212+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
213213
if: always()
214214
with:
215215
name: junit-xml--${{github.run_id}}--${{github.run_attempt}}--cloud

.github/workflows/nightly-throughput-stress.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,44 +68,44 @@ jobs:
6868
echo "=========================================="
6969
7070
- name: Checkout SDK
71-
uses: actions/checkout@v4
71+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
7272
with:
7373
submodules: recursive
7474

7575
- name: Checkout OMES
76-
uses: actions/checkout@v4
76+
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
7777
with:
7878
repository: ${{ env.OMES_REPO }}
7979
ref: ${{ env.OMES_REF }}
8080
path: omes
8181

8282
- name: Setup Go
83-
uses: actions/setup-go@v5
83+
uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5
8484
with:
8585
go-version-file: omes/go.mod
8686
cache-dependency-path: omes/go.sum
8787

8888
- name: Setup Rust
89-
uses: dtolnay/rust-toolchain@stable
89+
uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
9090

9191
- name: Setup Rust cache
92-
uses: Swatinem/rust-cache@v2
92+
uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
9393
with:
9494
workspaces: temporalio/bridge -> target
9595

9696
- name: Setup Python
97-
uses: actions/setup-python@v5
97+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
9898
with:
9999
python-version: "3.13"
100100

101101
- name: Install protoc
102-
uses: arduino/setup-protoc@v3
102+
uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
103103
with:
104104
version: '23.x'
105105
repo-token: ${{ secrets.GITHUB_TOKEN }}
106106

107107
- name: Setup uv
108-
uses: astral-sh/setup-uv@v5
108+
uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
109109

110110
- name: Install poethepoet
111111
run: uv tool install poethepoet
@@ -117,7 +117,7 @@ jobs:
117117
run: poe build-develop
118118

119119
- name: Install Temporal CLI
120-
uses: temporalio/setup-temporal@v0
120+
uses: temporalio/setup-temporal@1059a504f87e7fa2f385e3fa40d1aa7e62f1c6ca # v0
121121

122122
- name: Install Prometheus
123123
run: |
@@ -172,7 +172,7 @@ jobs:
172172
173173
- name: Configure AWS credentials
174174
if: always()
175-
uses: aws-actions/configure-aws-credentials@v4
175+
uses: aws-actions/configure-aws-credentials@ff717079ee2060e4bcee96c4779b553acc87447c # v4
176176
with:
177177
role-to-assume: ${{ env.AWS_S3_METRICS_UPLOAD_ROLE_ARN }}
178178
aws-region: us-west-2
@@ -192,15 +192,15 @@ jobs:
192192
193193
- name: Upload logs on failure
194194
if: failure() || cancelled()
195-
uses: actions/upload-artifact@v4
195+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
196196
with:
197197
name: throughput-stress-logs
198198
path: ${{ env.WORKER_LOG_DIR }}
199199
retention-days: 30
200200

201201
- name: Notify Slack on failure
202202
if: failure() || cancelled()
203-
uses: slackapi/slack-github-action@v2
203+
uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a # v2
204204
with:
205205
webhook-type: incoming-webhook
206206
payload: |

.github/workflows/run-bench.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,25 @@ jobs:
2929
runs-on: ${{ matrix.os }}
3030
steps:
3131
# Prepare
32-
- uses: actions/checkout@v4
32+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
3333
with:
3434
submodules: recursive
35-
- uses: dtolnay/rust-toolchain@stable
35+
- uses: dtolnay/rust-toolchain@29eef336d9b2848a0b548edc03f92a220660cdb8 # stable
3636
with:
3737
toolchain: stable
38-
- uses: Swatinem/rust-cache@v2
38+
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
3939
with:
4040
workspaces: temporalio/bridge -> target
41-
- uses: actions/setup-python@v5
41+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
4242
with:
4343
python-version: "3.13"
44-
- uses: arduino/setup-protoc@v3
44+
- uses: arduino/setup-protoc@c65c819552d16ad3c9b72d9dfd5ba5237b9c906b # v3
4545
with:
4646
# TODO(cretz): Can upgrade proto when https://github.com/arduino/setup-protoc/issues/99 fixed
4747
version: "23.x"
4848
repo-token: ${{ secrets.GITHUB_TOKEN }}
4949

50-
- uses: astral-sh/setup-uv@v5
50+
- uses: astral-sh/setup-uv@e58605a9b6da7c637471fab8847a5e5a6b8df081 # v5
5151
# Build
5252
- run: uv tool install poethepoet
5353
- run: uv sync --all-extras

pyproject.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,3 +252,5 @@ exclude = ["temporalio/bridge/target/**/*"]
252252
[tool.uv]
253253
# Prevent uv commands from building the package by default
254254
package = false
255+
exclude-newer = "1 week"
256+
exclude-newer-package = { openai-agents = false }

0 commit comments

Comments
 (0)