Skip to content

Commit 11cbe7a

Browse files
fix: prerelease dependent on build success [macata #101]
1 parent 2d11751 commit 11cbe7a

File tree

1 file changed

+42
-6
lines changed

1 file changed

+42
-6
lines changed

.github/workflows/build.yml

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,61 @@
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

59
jobs:
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

Comments
 (0)