27
27
CARGO_INCREMENTAL: '0'
28
28
CARGO_PROFILE_DEV_DEBUG: '0'
29
29
RUST_TOOLCHAIN_VERSION: "{[ rust_version }]"
30
+ PYTHON_VERSION: "{[ python_version }]"
30
31
RUSTFLAGS: "-D warnings"
31
32
RUSTDOCFLAGS: "-D warnings"
32
33
RUST_LOG: "info"
@@ -43,17 +44,18 @@ jobs:
43
44
RUSTC_BOOTSTRAP: 1
44
45
steps:
45
46
- name: Install host dependencies
46
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
47
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
47
48
with:
48
49
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
49
50
version: ubuntu-latest
50
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
51
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
51
52
with:
53
+ persist-credentials: false
52
54
submodules: recursive
53
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
55
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
54
56
with:
55
57
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
56
- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
58
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
57
59
with:
58
60
key: udeps
59
61
cache-all-crates: "true"
@@ -116,21 +118,23 @@ jobs:
116
118
continue-on-error: ${{ matrix.checks == 'advisories' }}
117
119
118
120
steps:
119
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
121
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
120
122
with:
123
+ persist-credentials: false
121
124
submodules: recursive
122
- - uses: EmbarkStudios/cargo-deny-action@8371184bd11e21dcf8ac82ebf8c9c9f74ebf7268 # v2.0.1
125
+ - uses: EmbarkStudios/cargo-deny-action@8d73959fce1cdc8989f23fdf03bec6ae6a6576ef # v2.0.7
123
126
with:
124
127
command: check ${{ matrix.checks }}
125
128
126
129
run_rustfmt:
127
130
name: Run Rustfmt
128
131
runs-on: ubuntu-latest
129
132
steps:
130
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
133
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
131
134
with:
135
+ persist-credentials: false
132
136
submodules: recursive
133
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
137
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
134
138
with:
135
139
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
136
140
components: rustfmt
@@ -141,18 +145,19 @@ jobs:
141
145
runs-on: ubuntu-latest
142
146
steps:
143
147
- name: Install host dependencies
144
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
148
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
145
149
with:
146
150
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
147
151
version: ubuntu-latest
148
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
152
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
149
153
with:
154
+ persist-credentials: false
150
155
submodules: recursive
151
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
156
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
152
157
with:
153
158
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
154
159
components: clippy
155
- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
160
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
156
161
with:
157
162
key: clippy
158
163
cache-all-crates: "true"
@@ -176,18 +181,18 @@ jobs:
176
181
runs-on: ubuntu-latest
177
182
steps:
178
183
- name: Install host dependencies
179
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
184
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
180
185
with:
181
186
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
182
187
version: ubuntu-latest
183
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
188
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
184
189
with:
185
190
submodules: recursive
186
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
191
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
187
192
with:
188
193
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
189
194
components: rustfmt
190
- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
195
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
191
196
with:
192
197
key: doc
193
198
cache-all-crates: "true"
@@ -198,17 +203,18 @@ jobs:
198
203
runs-on: ubuntu-latest
199
204
steps:
200
205
- name: Install host dependencies
201
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
206
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
202
207
with:
203
208
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
204
209
version: ubuntu-latest
205
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
210
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
206
211
with:
212
+ persist-credentials: false
207
213
submodules: recursive
208
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
214
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
209
215
with:
210
216
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
211
- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
217
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
212
218
with:
213
219
key: test
214
220
cache-all-crates: "true"
@@ -222,12 +228,13 @@ jobs:
222
228
name: Check if committed README is the one we would render from the available parts
223
229
runs-on: ubuntu-latest
224
230
steps:
225
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
231
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
226
232
with:
233
+ persist-credentials: false
227
234
submodules: recursive
228
- - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2 .0
235
+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
229
236
with:
230
- python-version: '3.12'
237
+ python-version: ${{ env.PYTHON_VERSION }}
231
238
- name: Install jinja2-cli
232
239
run: pip install jinja2-cli==0.8.2
233
240
- name: Regenerate charts
@@ -256,22 +263,23 @@ jobs:
256
263
runs-on: ubuntu-latest
257
264
steps:
258
265
- name: Install host dependencies
259
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
266
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
260
267
with:
261
268
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
262
269
version: ubuntu-latest
263
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
270
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
264
271
with:
272
+ persist-credentials: false
265
273
submodules: recursive
266
274
- name: Set up Helm
267
275
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
268
276
with:
269
277
version: v3.16.1
270
278
- name: Set up cargo
271
- uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
279
+ uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
272
280
with:
273
281
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
274
- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
282
+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
275
283
with:
276
284
key: charts
277
285
cache-all-crates: "true"
@@ -326,15 +334,16 @@ jobs:
326
334
IMAGE_TAG: ${{ steps.printtag.outputs.IMAGE_TAG }}
327
335
steps:
328
336
- name: Install host dependencies
329
- uses: awalsh128/cache-apt-pkgs-action@a6c3917cc929dd0345bfb2d3feaf9101823370ad # v1.4.2
337
+ uses: awalsh128/cache-apt-pkgs-action@5902b33ae29014e6ca012c5d8025d4346556bd40 # v1.4.3
330
338
with:
331
339
packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
332
340
version: ${{ matrix.runner }}
333
- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
341
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
334
342
with:
343
+ persist-credentials: false
335
344
submodules: recursive
336
- - uses: cachix/install-nix-action@ba0dd844c9180cbf77aa72a116d6fbc515d0e87b # v27
337
- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
345
+ - uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
346
+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
338
347
with:
339
348
toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
340
349
components: rustfmt
@@ -354,21 +363,26 @@ jobs:
354
363
cargo set-version --offline --workspace "$PR_VERSION"
355
364
- name: Update version if PR against non-main branch
356
365
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
357
- if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
366
+ # We can't rely on cargo set-version here as we will break semver rules when changing the version to make it
367
+ # specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually.
368
+ if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref != 'main' }}
358
369
env:
359
370
PR_NUMBER: ${{ github.event.pull_request.number }}
371
+ shell: bash
360
372
run: |
373
+ set -euo pipefail
374
+
361
375
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
362
376
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
363
- cargo set- version --offline --workspace "$ PR_VERSION"
377
+ sed -i "s/ version = \"${MANIFEST_VERSION}\"/version = \"${ PR_VERSION}\"/" Cargo.toml
364
378
365
379
# Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the
366
380
# default value in the makefile if called from this action, but not otherwise (i.e. when called locally).
367
381
# This is needed for the HELM_REPO variable.
368
382
- name: Install cosign
369
- uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
383
+ uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
370
384
- name: Install syft
371
- uses: anchore/sbom-action/download-syft@61119d458adab75f756bc0b9e4bde25725f86a7a # v0.17.2
385
+ uses: anchore/sbom-action/download-syft@f325610c9f50a54015d37c8d16cb3b0e2c8f4de0 # v0.18.0
372
386
- name: Build Docker image and Helm chart
373
387
run: |
374
388
# Installing helm and yq on ubicloud-standard-8-arm only
@@ -412,10 +426,11 @@ jobs:
412
426
OCI_REGISTRY_SDP_CHARTS_USERNAME: "robot$sdp-charts+github-action-build"
413
427
steps:
414
428
- name: Install cosign
415
- uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
429
+ uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
416
430
- name: Checkout
417
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
431
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
418
432
with:
433
+ persist-credentials: false
419
434
submodules: recursive
420
435
# This step checks if the current run was triggered by a push to a pr (or a pr being created).
421
436
# If this is the case it changes the version of this project in all Cargo.toml files to include the suffix
@@ -433,13 +448,18 @@ jobs:
433
448
cargo set-version --offline --workspace "$PR_VERSION"
434
449
- name: Update version if PR against non-main branch
435
450
# For PRs to be merged against a release branch, use the version that has already been set in the calling script.
436
- if: ${{ github.event_name == 'pull_request' && startsWith(github.event.pull_request.base.ref, 'release-') }}
451
+ # We can't rely on cargo set-version here as we will break semver rules when changing the version to make it
452
+ # specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually.
453
+ if: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.ref != 'main' }}
437
454
env:
438
455
PR_NUMBER: ${{ github.event.pull_request.number }}
456
+ shell: bash
439
457
run: |
458
+ set -euo pipefail
459
+
440
460
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
441
461
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
442
- cargo set- version --offline --workspace "$ PR_VERSION"
462
+ sed -i "s/ version = \"${MANIFEST_VERSION}\"/version = \"${ PR_VERSION}\"/" Cargo.toml
443
463
- name: Build manifest list
444
464
run: |
445
465
# Creating manifest list
0 commit comments