2727 CARGO_INCREMENTAL: '0'
2828 CARGO_PROFILE_DEV_DEBUG: '0'
2929 RUST_TOOLCHAIN_VERSION: "{[ rust_version }]"
30+ PYTHON_VERSION: "{[ python_version }]"
3031 RUSTFLAGS: "-D warnings"
3132 RUSTDOCFLAGS: "-D warnings"
3233 RUST_LOG: "info"
@@ -43,17 +44,18 @@ jobs:
4344 RUSTC_BOOTSTRAP: 1
4445 steps:
4546 - 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
4748 with:
4849 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
4950 version: ubuntu-latest
50- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
51+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5152 with:
53+ persist-credentials: false
5254 submodules: recursive
53- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
55+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
5456 with:
5557 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
56- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
58+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
5759 with:
5860 key: udeps
5961 cache-all-crates: "true"
@@ -116,21 +118,23 @@ jobs:
116118 continue-on-error: ${{ matrix.checks == 'advisories' }}
117119
118120 steps:
119- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
121+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
120122 with:
123+ persist-credentials: false
121124 submodules: recursive
122- - uses: EmbarkStudios/cargo-deny-action@8371184bd11e21dcf8ac82ebf8c9c9f74ebf7268 # v2.0.1
125+ - uses: EmbarkStudios/cargo-deny-action@8d73959fce1cdc8989f23fdf03bec6ae6a6576ef # v2.0.7
123126 with:
124127 command: check ${{ matrix.checks }}
125128
126129 run_rustfmt:
127130 name: Run Rustfmt
128131 runs-on: ubuntu-latest
129132 steps:
130- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
133+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
131134 with:
135+ persist-credentials: false
132136 submodules: recursive
133- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
137+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
134138 with:
135139 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
136140 components: rustfmt
@@ -141,18 +145,19 @@ jobs:
141145 runs-on: ubuntu-latest
142146 steps:
143147 - 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
145149 with:
146150 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
147151 version: ubuntu-latest
148- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
152+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
149153 with:
154+ persist-credentials: false
150155 submodules: recursive
151- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
156+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
152157 with:
153158 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
154159 components: clippy
155- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
160+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
156161 with:
157162 key: clippy
158163 cache-all-crates: "true"
@@ -176,18 +181,18 @@ jobs:
176181 runs-on: ubuntu-latest
177182 steps:
178183 - 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
180185 with:
181186 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
182187 version: ubuntu-latest
183- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
188+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
184189 with:
185190 submodules: recursive
186- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
191+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
187192 with:
188193 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
189194 components: rustfmt
190- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
195+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
191196 with:
192197 key: doc
193198 cache-all-crates: "true"
@@ -198,17 +203,18 @@ jobs:
198203 runs-on: ubuntu-latest
199204 steps:
200205 - 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
202207 with:
203208 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
204209 version: ubuntu-latest
205- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
210+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
206211 with:
212+ persist-credentials: false
207213 submodules: recursive
208- - uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
214+ - uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
209215 with:
210216 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
211- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
217+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
212218 with:
213219 key: test
214220 cache-all-crates: "true"
@@ -222,12 +228,13 @@ jobs:
222228 name: Check if committed README is the one we would render from the available parts
223229 runs-on: ubuntu-latest
224230 steps:
225- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
231+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
226232 with:
233+ persist-credentials: false
227234 submodules: recursive
228- - uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2 .0
235+ - uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
229236 with:
230- python-version: '3.12'
237+ python-version: ${{ env.PYTHON_VERSION }}
231238 - name: Install jinja2-cli
232239 run: pip install jinja2-cli==0.8.2
233240 - name: Regenerate charts
@@ -256,22 +263,23 @@ jobs:
256263 runs-on: ubuntu-latest
257264 steps:
258265 - 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
260267 with:
261268 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
262269 version: ubuntu-latest
263- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
270+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
264271 with:
272+ persist-credentials: false
265273 submodules: recursive
266274 - name: Set up Helm
267275 uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
268276 with:
269277 version: v3.16.1
270278 - name: Set up cargo
271- uses: dtolnay/rust-toolchain@7b1c307e0dcbda6122208f10795a713336a9b35a
279+ uses: dtolnay/rust-toolchain@c5a29ddb4d9d194e7c84ec8c3fba61b1c31fee8c
272280 with:
273281 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
274- - uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 # v2.7.3
282+ - uses: Swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2.7.7
275283 with:
276284 key: charts
277285 cache-all-crates: "true"
@@ -326,15 +334,16 @@ jobs:
326334 IMAGE_TAG: ${{ steps.printtag.outputs.IMAGE_TAG }}
327335 steps:
328336 - 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
330338 with:
331339 packages: protobuf-compiler krb5-user libkrb5-dev libclang-dev liblzma-dev libssl-dev pkg-config apt-transport-https
332340 version: ${{ matrix.runner }}
333- - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
341+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
334342 with:
343+ persist-credentials: false
335344 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
338347 with:
339348 toolchain: ${{ env.RUST_TOOLCHAIN_VERSION }}
340349 components: rustfmt
@@ -354,21 +363,26 @@ jobs:
354363 cargo set-version --offline --workspace "$PR_VERSION"
355364 - name: Update version if PR against non-main branch
356365 # 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' }}
358369 env:
359370 PR_NUMBER: ${{ github.event.pull_request.number }}
371+ shell: bash
360372 run: |
373+ set -euo pipefail
374+
361375 MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
362376 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
364378
365379 # Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the
366380 # default value in the makefile if called from this action, but not otherwise (i.e. when called locally).
367381 # This is needed for the HELM_REPO variable.
368382 - name: Install cosign
369- uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
383+ uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
370384 - 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
372386 - name: Build Docker image and Helm chart
373387 run: |
374388 # Installing helm and yq on ubicloud-standard-8-arm only
@@ -412,10 +426,11 @@ jobs:
412426 OCI_REGISTRY_SDP_CHARTS_USERNAME: "robot$sdp-charts+github-action-build"
413427 steps:
414428 - name: Install cosign
415- uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
429+ uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
416430 - name: Checkout
417- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
431+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
418432 with:
433+ persist-credentials: false
419434 submodules: recursive
420435 # This step checks if the current run was triggered by a push to a pr (or a pr being created).
421436 # 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:
433448 cargo set-version --offline --workspace "$PR_VERSION"
434449 - name: Update version if PR against non-main branch
435450 # 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' }}
437454 env:
438455 PR_NUMBER: ${{ github.event.pull_request.number }}
456+ shell: bash
439457 run: |
458+ set -euo pipefail
459+
440460 MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
441461 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
443463 - name: Build manifest list
444464 run: |
445465 # Creating manifest list
0 commit comments