diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 81f67b37..61a50f51 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -344,10 +344,18 @@ jobs: with: crate: cargo-edit bin: cargo-set-version - - name: Update version if PR - # For PRs to be merged against a release branch, the version has already been set, in which case ignore this step. + - name: Update version if PR against main branch if: ${{ github.event_name == 'pull_request' && github.ref == 'refs/heads/main' }} run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }} + - name: Update version if PR against non-main branch + # For PRs to be merged against a release branch, use the version that has already been set in the calling script. + if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version') + PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}" + cargo set-version --offline --workspace "$PR_VERSION" # Recreate charts and publish charts and docker image. The "-e" is needed as we want to override the # default value in the makefile if called from this action, but not otherwise (i.e. when called locally). @@ -411,10 +419,18 @@ jobs: with: crate: cargo-edit bin: cargo-set-version - - name: Update version if PR - # For PRs to be merged against a release branch, the version has already been set, in which case ignore this step. + - name: Update version if PR against main branch if: ${{ github.event_name == 'pull_request' && github.ref == 'refs/heads/main' }} run: cargo set-version --offline --workspace 0.0.0-pr${{ github.event.pull_request.number }} + - name: Update version if PR against non-main branch + # For PRs to be merged against a release branch, use the version that has already been set in the calling script. + if: ${{ github.event_name == 'pull_request' && github.ref != 'refs/heads/main' }} + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + run: | + MANIFEST_VERSION=$(cargo metadata --format-version 1 --no-deps | jq -r '.packages[0].version') + PR_VERSION="${MANIFEST_VERSION}-pr${PR_NUMBER}" + cargo set-version --offline --workspace "$PR_VERSION" - name: Build manifest list run: | # Creating manifest list