Update master PR workflow to really check that new version is higher

than current
This commit is contained in:
Daniel Cronqvist 2025-04-28 20:25:21 +02:00
parent 622c790406
commit 1cab5c46c0

View file

@ -9,27 +9,38 @@ jobs:
steps: steps:
- name: Checkout PR branch - name: Checkout PR branch
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Get version from PR branch - name: Get version from PR branch
id: pr_version id: pr_version
run: | run: |
PR_VERSION=$(grep '<Version>' **/*.csproj | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/') PR_VERSION=$(find . -name '*.csproj' -exec grep '<Version>' {} \; | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/')
echo "PR_VERSION=$PR_VERSION" >> $GITHUB_ENV echo "PR_VERSION=$PR_VERSION" >> $GITHUB_ENV
- name: Checkout master branch - name: Checkout master branch to separate directory
run: | uses: actions/checkout@v3
git fetch origin master with:
git checkout origin/master ref: master
path: master_branch
- name: Get version from master branch - name: Get version from master branch
id: master_version id: master_version
run: | run: |
MASTER_VERSION=$(grep '<Version>' **/*.csproj | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/') MASTER_VERSION=$(find master_branch -name '*.csproj' -exec grep '<Version>' {} \; | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/')
echo "MASTER_VERSION=$MASTER_VERSION" >> $GITHUB_ENV echo "MASTER_VERSION=$MASTER_VERSION" >> $GITHUB_ENV
- name: Debug $GITHUB_ENV
run: |
echo "PR_VERSION: $PR_VERSION"
echo "MASTER_VERSION: $MASTER_VERSION"
- name: Compare versions - name: Compare versions
run: | run: |
if [ "$(printf '%s\n' "$PR_VERSION" "$MASTER_VERSION" | sort -V | head -n1)" = "$PR_VERSION" ] && [ "$PR_VERSION" != "$MASTER_VERSION" ]; then if [ -z "$PR_VERSION" ] || [ -z "$MASTER_VERSION" ]; then
echo "One of the version variables is empty."
exit 1
fi
if [ "$(printf '%s\n' "$MASTER_VERSION" "$PR_VERSION" | sort -V | tail -n1)" != "$PR_VERSION" ] || [ "$PR_VERSION" = "$MASTER_VERSION" ]; then
echo "Version in PR is not higher than master." echo "Version in PR is not higher than master."
exit 1 exit 1
else else