1- name : Java build & test
1+ name : Pre-release on develop merge
22
3- on : [push]
3+ on :
4+ workflow_run :
5+ workflows : ["Java build & test"]
6+ types :
7+ - completed
48
59jobs :
6- build :
10+ build-and-release :
11+ if : ${{ github.event.workflow_run.conclusion == 'success' }}
712 runs-on : ubuntu-latest
8-
913 steps :
1014 - uses : actions/checkout@v3
15+
1116 - name : Set up JDK 18
1217 uses : actions/setup-java@v3
1318 with :
1419 java-version : ' 18'
1520 distribution : ' adopt'
1621 cache : maven
22+
1723 - name : Cache local Maven repository
1824 uses : actions/cache@v3
1925 with :
2026 path : ~/.m2/repository
2127 key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
2228 restore-keys : |
23- ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
29+ ${{ runner.os }}-maven-
30+
2431 - name : Build with Maven
25- run : mvn package
32+ run : mvn package
33+
34+ - name : Extract Version from POM
35+ id : extract_version
36+ run : echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT
37+
38+ - name : Generate Timestamp
39+ id : gen_timestamp
40+ run : echo "timestamp=$(date +'%Y%m%d_%H%M%S')" >> $GITHUB_OUTPUT
41+
42+ - name : Create Pre-release
43+ id : create_release
44+ uses : actions/create-release@v1
45+ env :
46+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
47+ with :
48+ tag_name : prerelease-${{ steps.extract_version.outputs.version }}-${{ steps.gen_timestamp.outputs.timestamp }}
49+ release_name : Pre-release ${{ steps.extract_version.outputs.version }} (${{ steps.gen_timestamp.outputs.timestamp }})
50+ draft : false
51+ prerelease : true
52+
53+ - name : Upload Release Asset
54+ uses : actions/upload-release-asset@v1
55+ env :
56+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
57+ with :
58+ upload_url : ${{ steps.create_release.outputs.upload_url }}
59+ asset_path : ./target/macatalauncher-${{ steps.extract_version.outputs.version }}.jar
60+ asset_name : macatalauncher-${{ steps.extract_version.outputs.version }}-${{ steps.gen_timestamp.outputs.timestamp }}.jar
61+ asset_content_type : application/java-archive
0 commit comments