@@ -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