Skip to content

Commit 4dc73f5

Browse files
Add version bump check workflow for Maven
This workflow checks if the Maven version has been bumped before merging a pull request.
1 parent 1b7ab7c commit 4dc73f5

File tree

1 file changed

+53
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)