Skip to content

Commit e77399b

Browse files
Enable version bump check on pull requests
Add pull request trigger for version bump check
1 parent e0c83f2 commit e77399b

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
#####
2+
# Minecraft Maven Version Bump Check
3+
#####
4+
# Ensures that maven version is bumped or changed before merging.
5+
#####
6+
on: pull_request
7+
8+
jobs:
9+
ensure-version-bump:
10+
if: ${{ github.base_ref == 'main' || github.base_ref == 'master' }}
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout PR branch
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
18+
19+
- name: Extract version from PR branch
20+
id: pr_ver
21+
run: |
22+
PR_VERSION=$(grep -m1 '<version>' pom.xml | sed -E 's/.*<version>(.*)<\/version>.*/\1/')
23+
echo "value=$PR_VERSION" >> $GITHUB_OUTPUT
24+
25+
- name: Extract version from base branch
26+
id: base_ver
27+
run: |
28+
git fetch origin ${{ github.base_ref }} --depth=1
29+
git checkout origin/${{ github.base_ref }} -- pom.xml
30+
BASE_VERSION=$(grep -m1 '<version>' pom.xml | sed -E 's/.*<version>(.*)<\/version>.*/\1/')
31+
echo "value=$BASE_VERSION" >> $GITHUB_OUTPUT
32+
33+
- name: Compare versions
34+
run: |
35+
echo "PR version: ${{ steps.pr_ver.outputs.value }}"
36+
echo "Base version: ${{ steps.base_ver.outputs.value }}"
37+
38+
if [ "${{ steps.pr_ver.outputs.value }}" = "${{ steps.base_ver.outputs.value }}" ]; then
39+
echo "❌ Version has NOT been bumped!"
40+
exit 1
41+
fi
42+
43+
echo "✅ Version has been changed."
44+
45+
- name: Warn if version contains -SNAPSHOT
46+
run: |
47+
VERSION="${{ steps.pr_ver.outputs.value }}"
48+
if [[ "$VERSION" == *"-SNAPSHOT"* ]]; then
49+
echo "::warning title=Snapshot Version Detected::The version contains '-SNAPSHOT'. Consider removing it before release."
50+
fi

0 commit comments

Comments
 (0)