Skip to content

Commit 4838722

Browse files
authored
fix: set version for releases manually (#475)
1 parent bf9cb86 commit 4838722

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

template/.github/workflows/build.yml.j2

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -354,13 +354,18 @@ jobs:
354354
cargo set-version --offline --workspace "$PR_VERSION"
355355
- name: Update version if PR against non-main branch
356356
# 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-') }}
357+
# We can't rely on cargo set-version here as we will break semver rules when changing the version to make it
358+
# specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually.
359+
if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }}
358360
env:
359361
PR_NUMBER: ${{ github.event.pull_request.number }}
362+
shell: bash
360363
run: |
364+
set -euo pipefail
365+
361366
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
362367
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
363-
cargo set-version --offline --workspace "$PR_VERSION"
368+
sed -i "s/version = \"${MANIFEST_VERSION}\"/version = \"${PR_VERSION}\"/" Cargo.toml
364369

365370
# Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the
366371
# default value in the makefile if called from this action, but not otherwise (i.e. when called locally).
@@ -433,13 +438,18 @@ jobs:
433438
cargo set-version --offline --workspace "$PR_VERSION"
434439
- name: Update version if PR against non-main branch
435440
# 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-') }}
441+
# We can't rely on cargo set-version here as we will break semver rules when changing the version to make it
442+
# specific to this PR e.g. 1.2.0 --> 1.2.0-pr678, so set it manually.
443+
if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }}
437444
env:
438445
PR_NUMBER: ${{ github.event.pull_request.number }}
446+
shell: bash
439447
run: |
448+
set -euo pipefail
449+
440450
MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version')
441451
PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}"
442-
cargo set-version --offline --workspace "$PR_VERSION"
452+
sed -i "s/version = \"${MANIFEST_VERSION}\"/version = \"${PR_VERSION}\"/" Cargo.toml
443453
- name: Build manifest list
444454
run: |
445455
# Creating manifest list

0 commit comments

Comments
 (0)