Skip to content

Commit 7ca2a7d

Browse files
Merge pull request #16 from Cloudrisk/main
update develop with main
2 parents 8e69b26 + c207a83 commit 7ca2a7d

File tree

1 file changed

+56
-17
lines changed

1 file changed

+56
-17
lines changed

.github/workflows/create-tagged-release.yml

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
2-
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
3-
4-
# This workflow will build a package using Maven and then publish it to GitHub packages when a release is created
5-
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#apache-maven-with-a-settings-path
6-
71
name: Maven Package
82

93
on:
104
push:
115
tags:
12-
- '**' # Trigger on tags like v1.0.0, v2.1.3, etc.
6+
- '**'
137

148
jobs:
159
build:
@@ -29,20 +23,39 @@ jobs:
2923
server-id: github
3024
settings-path: ${{ github.workspace }}
3125

32-
- name: Set Maven Version
33-
run: mvn versions:set -DnewVersion=${{ github.ref_name }}
34-
3526
- name: Build with Maven
36-
run: mvn -B -U -DskipTests clean package --file pom.xml
27+
run: mvn versions:set -DnewVersion=${{ github.ref_name }} -B -U -DskipTests clean package --file pom.xml
3728

3829
- name: Create GitHub Release
3930
id: create_release
40-
uses: actions/create-release@v1
31+
uses: actions/github-script@v6
4132
with:
42-
tag_name: ${{ github.ref_name }}
43-
release_name: Release ${{ github.ref_name }}
44-
draft: false
45-
prerelease: false
33+
script: |
34+
const tag = context.ref.replace('refs/tags/', '');
35+
let release;
36+
try {
37+
release = await github.rest.repos.getReleaseByTag({
38+
owner: context.repo.owner,
39+
repo: context.repo.repo,
40+
tag
41+
});
42+
core.setOutput('release_id', release.data.id);
43+
} catch (error) {
44+
if (error.status === 404) {
45+
const release = await github.rest.repos.createRelease({
46+
owner: context.repo.owner,
47+
repo: context.repo.repo,
48+
tag_name: context.ref.replace('refs/tags/', ''),
49+
name: `Release ${context.ref.replace('refs/tags/', '')}`,
50+
draft: false,
51+
prerelease: false
52+
});
53+
core.setOutput('release_id', release.data.id);
54+
} else {
55+
throw error;
56+
}
57+
}
58+
core.setOutput('upload_url', release.data.upload_url);
4659
env:
4760
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4861

@@ -56,5 +69,31 @@ jobs:
5669
env:
5770
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5871

72+
- name: Create Source Code Zip
73+
run: git archive -o source-${{ github.ref_name }}.zip HEAD
74+
75+
- name: Upload Source Code Zip
76+
uses: actions/upload-release-asset@v1
77+
with:
78+
upload_url: ${{ steps.create_release.outputs.upload_url }}
79+
asset_path: source-${{ github.ref_name }}.zip
80+
asset_name: source-${{ github.ref_name }}.zip
81+
asset_content_type: application/zip
82+
env:
83+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84+
85+
- name: Create Source Code Tar.gz
86+
run: git archive -o source-${{ github.ref_name }}.tar.gz --format=tar.gz HEAD
87+
88+
- name: Upload Source Code Tar.gz
89+
uses: actions/upload-release-asset@v1
90+
with:
91+
upload_url: ${{ steps.create_release.outputs.upload_url }}
92+
asset_path: source-${{ github.ref_name }}.tar.gz
93+
asset_name: source-${{ github.ref_name }}.tar.gz
94+
asset_content_type: application/gzip
95+
env:
96+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
97+
5998
- name: Reset POM
60-
run: git checkout -- pom.xml
99+
run: git checkout -- pom.xml

0 commit comments

Comments
 (0)