Skip to content

Commit 6004adc

Browse files
authored
Build releases with github actions
1 parent 9924e15 commit 6004adc

1 file changed

Lines changed: 72 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
name: Release this plugin
2+
3+
on:
4+
push:
5+
branches: [ release ]
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout github repository
12+
uses: actions/checkout@v3
13+
14+
- name: Set up JDK 17
15+
uses: actions/setup-java@v3
16+
with:
17+
java-version: '17'
18+
distribution: 'temurin'
19+
cache: maven
20+
21+
- name: Clone PowerNukkitX
22+
uses: sudosubin/git-clone-action@v1.0.1
23+
with:
24+
repository: PowerNukkitX/PowerNukkitX
25+
ref: master
26+
path: PowerNukkitX
27+
28+
- name: Build PowerNukkitX
29+
run: cd PowerNukkitX && mvn install
30+
31+
- name: Upload PowerNukkitX as artifact
32+
uses: actions/upload-artifact@v3.0.0
33+
with:
34+
name: PowerNukkitX
35+
path: PowerNukkitX/target/powernukkitx-1.6.0.0-PNX-SNAPSHOT-shaded.jar
36+
37+
- name: Get name and version from pom.xml
38+
run: |
39+
VER=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
40+
echo "VER=$VER" >> $GITHUB_ENV
41+
NAME=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)
42+
echo "NAME=$NAME" >> $GITHUB_ENV
43+
44+
- name: Build plugin
45+
run: mvn package
46+
47+
- name: Delete old release
48+
uses: dev-drprasad/delete-tag-and-release@v0.2.0
49+
with:
50+
delete_release: true
51+
tag_name: ${{env.VER}}
52+
env:
53+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
54+
55+
- name: Create Release
56+
id: create_release
57+
uses: actions/create-release@v1
58+
env:
59+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
60+
with:
61+
tag_name: ${{env.VER}}
62+
release_name: PlotPlugin v${{env.VER}}
63+
64+
- name: Upload plugin as release
65+
uses: actions/upload-release-asset@v1
66+
env:
67+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
68+
with:
69+
upload_url: ${{steps.create_release.outputs.upload_url}}
70+
asset_path: target/${{env.NAME}}-${{env.VER}}.jar
71+
asset_name: PlotPlugin.jar
72+
asset_content_type: application/java-archive

0 commit comments

Comments
 (0)