1
- name : Maven release
1
+ name : Release artifacts
2
2
3
3
on :
4
4
workflow_dispatch :
5
5
inputs :
6
- releaseVersion :
7
- description : " Release version."
6
+ release_version :
7
+ description : ' The version to be released from actual HEAD revision'
8
+ required : false
9
+ default : ' X.Y.Z'
10
+ development_version :
11
+ description : ' Version to be set as next, after release is made (appends commit to HEAD revision)'
12
+ required : false
13
+ default : ' X.Y.Z-SNAPSHOT'
14
+ perform_version :
15
+ description : ' Tag which should be used to perform release and publish its artifacts'
16
+ required : false
17
+ dry_run :
18
+ description : ' Should execution abstain from mutating repository/remote state?'
8
19
required : true
9
- default : " X.Y.Z"
10
- developmentVersion :
11
- description : " Version to which working copy should be set after release."
12
- required : true
13
- default : " X.Y.Z-SNAPSHOT"
14
- dryRun :
15
- description : " Should release be done in dry-run mode."
16
- required : true
17
- default : " true"
20
+ default : ' true'
18
21
19
22
jobs :
20
- release :
21
- runs-on : ubuntu-latest
23
+ build :
22
24
permissions :
23
25
contents : write
24
- steps :
25
- - uses : actions/checkout@v3
26
- - name : Setup git
27
- run : |
28
- git config user.email "ci@connectorio.com"
29
- git config user.name "ConnectorIO Bot"
30
- git config --global url."https://${BUILD_USER}:${BUILD_TOKEN}@github.com/".insteadOf "git@github.com:"
31
- env :
32
- BUILD_USER : x-access-token
33
- BUILD_TOKEN : ${{ secrets.GITHUB_TOKEN }}
34
- - uses : actions/setup-java@v3
35
- with :
36
- distribution : ' temurin'
37
- java-version : ' 11'
38
- server-id : sonatype-nexus-staging
39
- server-username : CI_RELEASE_USERNAME
40
- server-password : CI_RELEASE_PASSWORD
41
- gpg-passphrase : GPG_PASSPHRASE
42
- gpg-private-key : ${{ secrets.GPG_PRIVATE_KEY }}
43
- - name : Cache local Maven repository
44
- uses : actions/cache@v3
45
- with :
46
- path : ~/.m2/repository
47
- key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
48
- restore-keys : |
49
- ${{ runner.os }}-maven-
50
- - name : Dump env
51
- run : >-
52
- env && cat ~/.m2/settings.xml
53
- env :
54
- CI_RELEASE_USERNAME : ${{ secrets.CI_RELEASE_USERNAME }}
55
- CI_RELEASE_PASSWORD : ${{ secrets.CI_RELEASE_PASSWORD }}
56
- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
57
- - name : Maven Prepare Release
58
- run : >-
59
- mvn -B
60
- release:prepare -DpreparationProfiles=release,connectorio
61
- -DreleaseVersion=${{ inputs.releaseVersion }}
62
- -DdevelopmentVersion=${{ inputs.developmentVersion }}
63
- -DdryRun=${{ inputs.dryRun }}
64
- - name : Maven Perform Release
65
- if : success()
66
- run : >-
67
- mvn -B
68
- release:perform -DreleaseProfiles=release,connectorio
69
- env :
70
- CI_RELEASE_USERNAME : ${{ secrets.CI_RELEASE_USERNAME }}
71
- CI_RELEASE_PASSWORD : ${{ secrets.CI_RELEASE_PASSWORD }}
72
- GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
73
- - name : Rollback on failure
74
- if : failure()
75
- run : |
76
- mvn -B release:rollback
77
- echo "You may need to manually delete the git tag, if it was created."
26
+ uses : ' connectorio/gh-actions-shared/.github/workflows/release.yml@master'
27
+ secrets :
28
+ GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
29
+ GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
30
+ CI_RELEASE_USERNAME : ${{ secrets.CI_RELEASE_USERNAME }}
31
+ CI_RELEASE_PASSWORD : ${{ secrets.CI_RELEASE_PASSWORD }}
32
+ with :
33
+ openhab : false
34
+ server_id : ' sonatype-nexus-staging'
35
+ additional_profiles : apache,connectorio
36
+ release_version : ${{ inputs.release_version }}
37
+ development_version : ${{ inputs.development_version }}
38
+ perform_version : ${{ inputs.perform_version }}
39
+ dry_run : ${{ inputs.dry_run }}
0 commit comments