DotTiled/.github/workflows/master-pr.yml
Daniel Cronqvist f986b55527 More stuff
2025-04-28 20:37:08 +02:00

48 lines
1.5 KiB
YAML

on:
pull_request:
branches:
- master
jobs:
check-pr-version:
runs-on: ubuntu-latest
steps:
- name: Checkout PR branch
uses: actions/checkout@v3
- name: Get version from PR branch
id: pr_version
run: |
PR_VERSION=$(find . -name '*.csproj' -exec grep '<Version>' {} \; | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/')
echo "PR_VERSION=$PR_VERSION" >> $GITHUB_ENV
- name: Checkout master branch to separate directory
uses: actions/checkout@v3
with:
ref: master
path: master_branch
- name: Get version from master branch
id: master_version
run: |
MASTER_VERSION=$(find master_branch -name '*.csproj' -exec grep '<Version>' {} \; | sed -E 's/.*<Version>(.*)<\/Version>.*/\1/')
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
run: |
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."
exit 1
else
echo "Version in PR is higher than master."
fi