Skip to content

Commit d45a419

Browse files
authored
Update build.yml
1 parent e3fe9ba commit d45a419

File tree

1 file changed

+34
-41
lines changed

1 file changed

+34
-41
lines changed

.github/workflows/build.yml

Lines changed: 34 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,63 @@
1-
name: Build & Release
1+
name: Dev Build
22

33
on:
44
push:
55
branches:
6-
- master
76
- dev
8-
tags:
9-
- '1.*' # Matches tags like 1.4.7 or 1.4.7-SNAPSHOT
107

118
jobs:
129
build:
1310
runs-on: ubuntu-latest
1411

1512
steps:
16-
- name: Checkout code
13+
- name: 📦 Checkout Code
1714
uses: actions/checkout@v3
1815

19-
- name: Set up Java
16+
- name: Set up Java 17
2017
uses: actions/setup-java@v3
2118
with:
22-
distribution: 'temurin'
23-
java-version: '17'
19+
distribution: temurin
20+
java-version: 17
2421

25-
- name: Determine build version
26-
id: versioning
22+
- name: 🏷 Get current base version from pom.xml
23+
id: version
2724
run: |
28-
REF=${GITHUB_REF#refs/*/}
29-
SHORT_SHA=$(git rev-parse --short HEAD)
25+
BASE_VERSION=$(mvn help:evaluate -Dexpression=revision -q -DforceStdout)
26+
echo "BASE_VERSION=${BASE_VERSION%%-DEVBUILD*}" >> $GITHUB_ENV
27+
echo "::set-output name=base_version::${BASE_VERSION%%-DEVBUILD*}"
3028
31-
if [[ "$GITHUB_REF" == refs/tags/*-SNAPSHOT ]]; then
32-
VERSION="$REF"
33-
RELEASE_TYPE="prerelease"
34-
elif [[ "$GITHUB_REF" == refs/heads/master ]]; then
35-
VERSION="$REF"
36-
RELEASE_TYPE="release"
37-
elif [[ "$GITHUB_REF" == refs/heads/dev ]]; then
38-
VERSION="1.4.7-DEVBUILD.${GITHUB_RUN_NUMBER}"
39-
RELEASE_TYPE="none"
29+
- name: 🔢 Get last dev build number
30+
id: get-devbuild
31+
run: |
32+
VERSION_FILE=".github/devbuild-count.txt"
33+
VERSION="${{ steps.version.outputs.base_version }}"
34+
mkdir -p .github
35+
touch "$VERSION_FILE"
36+
37+
CURRENT=$(grep "^$VERSION=" "$VERSION_FILE" | cut -d= -f2)
38+
if [ -z "$CURRENT" ]; then
39+
CURRENT=1
4040
else
41-
VERSION="manual-${SHORT_SHA}"
42-
RELEASE_TYPE="none"
41+
CURRENT=$((CURRENT + 1))
4342
fi
4443
45-
echo "VERSION=$VERSION" >> $GITHUB_ENV
46-
echo "RELEASE_TYPE=$RELEASE_TYPE" >> $GITHUB_ENV
44+
echo "$VERSION=$CURRENT" > "$VERSION_FILE"
45+
echo "DEVBUILD=$CURRENT" >> $GITHUB_ENV
46+
echo "::set-output name=build_num::$CURRENT"
4747
48-
- name: Build with Maven
49-
run: mvn clean package -Drevision=${{ env.VERSION }}
48+
- name: 🛠 Build with Maven
49+
run: |
50+
VERSION="${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}"
51+
echo "Building version: $VERSION"
52+
mvn clean package -Drevision=$VERSION
5053
51-
- name: Rename output JAR
54+
- name: 🧹 Rename output JAR
5255
run: |
5356
mkdir dist
54-
cp target/*.jar dist/AutoPickup-${{ env.VERSION }}.jar
57+
cp target/*.jar dist/AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}.jar
5558
56-
- name: Upload Dev Build Artifact
57-
if: env.RELEASE_TYPE == 'none'
59+
- name: 📥 Upload Dev Build Artifact
5860
uses: actions/upload-artifact@v4
5961
with:
60-
name: AutoPickup-${{ env.VERSION }}
62+
name: AutoPickup-${{ env.BASE_VERSION }}-DEVBUILD.${{ steps.get-devbuild.outputs.build_num }}
6163
path: dist/*.jar
62-
63-
- name: Publish GitHub Release
64-
if: env.RELEASE_TYPE != 'none'
65-
uses: softprops/action-gh-release@v1
66-
with:
67-
tag_name: ${{ env.VERSION }}
68-
name: AutoPickup ${{ env.VERSION }}
69-
files: dist/AutoPickup-${{ env.VERSION }}.jar
70-
prerelease: ${{ env.RELEASE_TYPE == 'prerelease' }}

0 commit comments

Comments
 (0)