Skip to content

Commit c92d043

Browse files
authored
Merge pull request #3205 from Multiverse/feat/gha
Github release action improvements
2 parents 59e6fdb + a24a3a5 commit c92d043

File tree

3 files changed

+61
-9
lines changed

3 files changed

+61
-9
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: 'Dispatch: Create Release'
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
release_type:
7+
description: 'Stable or pre-release'
8+
required: true
9+
type: choice
10+
options:
11+
- prerelease
12+
- release
13+
version_bump:
14+
description: 'Version bump type'
15+
required: true
16+
type: choice
17+
options:
18+
- major
19+
- minor
20+
- patch
21+
22+
jobs:
23+
github_release:
24+
uses: ./.github/workflows/call.github_release.yml
25+
secrets: inherit
26+
with:
27+
release_mode: ${{ inputs.release_type }}
28+
version_bump: ${{ inputs.version_bump }}
29+
30+
platform_uploads:
31+
needs: github_release
32+
if: needs.github_release.outputs.release_created == 'true'
33+
uses: ./.github/workflows/call.platform_uploads.yml
34+
secrets: inherit
35+
with:
36+
target_tag: ${{ needs.github_release.outputs.tag_name }}
37+
upload_modrinth: 'true'
38+
upload_dbo: 'false'
39+
upload_hangar: 'false'

.github/workflows/dispatch.javadoc.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
- uses: actions/setup-java@v4
2222
with:
23-
java-version: '11'
23+
java-version: '21'
2424
distribution: 'adopt'
2525
cache: gradle
2626

.github/workflows/generic.github_release.yml

+21-8
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,15 @@ jobs:
5656
- name: Setup Gradle
5757
uses: gradle/actions/setup-gradle@v4
5858

59-
- name: Build and test
59+
- name: Build to test
60+
id: test
6061
run: ./gradlew clean build -x assemble -x shadowJar
6162
env:
6263
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6364

6465
- name: Create release
6566
id: release
67+
if: steps.test.outcome == 'success'
6668
uses: benwoo1110/semantic-release-action@v1
6769
with:
6870
github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -80,30 +82,41 @@ jobs:
8082
GITHUB_VERSION: ${{ steps.release.outputs.publish_version }}
8183
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
8284

85+
- name: Build for upload
86+
id: build
87+
run: ./gradlew build -x test
88+
env:
89+
GITHUB_VERSION: ${{ steps.release.outputs.tag_name }}
90+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91+
8392
- name: Upload release artifact
84-
if: steps.release.outputs.release_created == 'true'
93+
if: steps.build.outcome == 'success'
8594
uses: svenstaro/upload-release-action@v2
8695
with:
8796
repo_token: ${{ secrets.GITHUB_TOKEN }}
88-
file: build/libs/${{ inputs.plugin_name }}-${{ steps.release.outputs.publish_version }}.jar
97+
file: build/libs/${{ inputs.plugin_name }}-${{ steps.release.outputs.tag_name }}.jar
8998
asset_name: ${{ inputs.plugin_name }}-${{ steps.release.outputs.tag_name }}.jar
9099
tag: ${{ steps.release.outputs.tag_name }}
91100

92101
- name: Generate javadoc
93102
id: javadoc
94-
if: steps.release.outputs.release_created == 'true' && steps.release.outputs.release_type == 'release'
95-
run: ./gradlew javadoc
103+
if: steps.build.outcome == 'success'
104+
run: ./gradlew javadoc -x test
96105
env:
97106
GITHUB_VERSION: ${{ steps.release.outputs.publish_version }}
98107
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
99108

100-
- name: Copy javadoc to version and latest folder
109+
- name: Upload javadoc
101110
if: steps.javadoc.outcome == 'success'
111+
run: |
112+
mkdir -p build/docs/javadoc-deploy/${{ steps.release.outputs.publish_version }}
113+
cp -r build/docs/javadoc/* build/docs/javadoc-deploy/${{ steps.release.outputs.publish_version }}
114+
115+
- name: Override latest javadoc for stable release
116+
if: steps.javadoc.outcome == 'success' && steps.release.outputs.release_type == 'release'
102117
run: |
103118
mkdir -p build/docs/javadoc-deploy/latest
104-
mkdir -p build/docs/javadoc-deploy/${{ steps.release.outputs.tag_name }}
105119
cp -r build/docs/javadoc/* build/docs/javadoc-deploy/latest
106-
cp -r build/docs/javadoc/* build/docs/javadoc-deploy/${{ steps.release.outputs.tag_name }}
107120
108121
- name: Deploy javadoc to gh pages
109122
if: steps.javadoc.outcome == 'success'

0 commit comments

Comments
 (0)