Skip to content

Commit 48770e7

Browse files
committed
Introduce release workflow
1 parent 812f466 commit 48770e7

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# This workflow will release the project
2+
3+
name: NetLicensing Client - Release
4+
5+
on:
6+
workflow_dispatch:
7+
inputs:
8+
release-version:
9+
required: true
10+
description: The release version X.Y.Z
11+
development-version:
12+
required: true
13+
description: The next development version X.Y.Z-SNAPSHOT
14+
15+
jobs:
16+
release:
17+
runs-on: self-hosted
18+
container: maven:3.8.6-openjdk-11
19+
20+
steps:
21+
- uses: actions/checkout@v2
22+
23+
- name: Prepare git config
24+
run: |
25+
git config user.name "GitHub Actions Bot"
26+
git config user.email "<netlicensing@labs64.com>"
27+
28+
- name: Prepare maven settings.xml
29+
run: |
30+
mkdir ~/.m2
31+
cat << EOF >~/.m2/settings.xml
32+
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33+
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
34+
<servers>
35+
<server>
36+
<id>ossrh</id>
37+
<username>${{ secrets.OSS_USER }}</username>
38+
<password>${{ secrets.OSS_PASS }}</password>
39+
</server>
40+
</servers>
41+
</settings>
42+
EOF
43+
44+
- name: Import GPG key
45+
run: echo "${{ secrets.GPG_KEY }}" | base64 -d | gpg --pinentry-mode loopback --passphrase "${{ secrets.GPG_KEY_PASS }}" --import
46+
47+
- name: Release with Maven
48+
run: |
49+
mvn -B release:prepare -Prelease \
50+
-DautoVersionSubmodules=true \
51+
-DreleaseVersion=${{ github.event.inputs.release-version }} \
52+
-Dtag=${{ github.event.inputs.release-version }} \
53+
-DdevelopmentVersion=${{ github.event.inputs.development-version }} \
54+
-Darguments="-Dgpg.passphrase=${{ secrets.GPG_KEY_PASS }}"
55+
mvn -B release:perform -Prelease

0 commit comments

Comments
 (0)