11name : SmallRye Release
2-
2+ run-name : Perform ${{github.event.inputs.tag || github.ref_name}} Release
33on :
4- pull_request :
5- types : [closed]
6- paths :
7- - ' .github/project.yml'
4+ push :
5+ tags :
6+ - ' *'
7+ workflow_dispatch :
8+ inputs :
9+ tag :
10+ description : ' Tag to release'
11+ required : true
12+
13+ permissions :
14+ attestations : write
15+ id-token : write
16+ # Needed for the publish-* workflows
17+ contents : write
18+
19+ concurrency :
20+ group : ${{ github.workflow }}-${{ github.ref }}
21+ cancel-in-progress : true
822
923jobs :
10- release :
11- runs-on : ubuntu-latest
12- name : release
13- if : ${{github.event.pull_request.merged == true}}
14- env :
15- GITHUB_TOKEN : ${{secrets.RELEASE_TOKEN}}
16-
17- steps :
18- - uses : radcortez/project-metadata-action@main
19- name : retrieve project metadata
20- id : metadata
21- with :
22- github-token : ${{secrets.GITHUB_TOKEN}}
23- metadata-file-path : ' .github/project.yml'
24-
25- - uses : actions/checkout@v2
26- with :
27- token : ${{secrets.RELEASE_TOKEN}}
28-
29- 30- with :
31- java-version : 17
32- server-id : ' oss.sonatype'
33- server-username : ' MAVEN_DEPLOY_USERNAME'
34- server-password : ' MAVEN_DEPLOY_TOKEN'
35- gpg-private-key : ${{secrets.MAVEN_GPG_PRIVATE_KEY}}
36- gpg-passphrase : ' MAVEN_GPG_PASSPHRASE'
37-
38- - name : Install graphviz
39- run : sudo apt install graphviz
40-
41- - name : maven release ${{steps.metadata.outputs.current-version}}
42- env :
43- MAVEN_DEPLOY_USERNAME : ${{secrets.MAVEN_DEPLOY_USERNAME}}
44- MAVEN_DEPLOY_TOKEN : ${{secrets.MAVEN_DEPLOY_TOKEN}}
45- MAVEN_GPG_PASSPHRASE : ${{secrets.MAVEN_GPG_PASSPHRASE}}
46- run : |
47- java -version
48- git config --global user.name "SmallRye CI"
49- git config --global user.email "[email protected] " 50- git checkout -b release
51- # update gradle version plugin
52- echo "version=${{steps.metadata.outputs.current-version}}" > tools/gradle-plugin/gradle.properties
53- git add tools/gradle-plugin/gradle.properties
54- git commit -m "Update Gradle plugin version"
55- mvn -X -e -B release:prepare -Prelease -DreleaseVersion=${{steps.metadata.outputs.current-version}} -DdevelopmentVersion=${{steps.metadata.outputs.next-version}}
56- git checkout ${{github.base_ref}}
57- git rebase release
58- mvn -X -e -B release:perform -Prelease
59- git push
60- git push --tags
61-
62- - name : Gradle plugin release ${{steps.metadata.outputs.current-version}}
63- run : |
64- mkdir -p ~/.gradle ; echo -e "gradle.publish.key=${{secrets.GRADLE_PUBLISH_KEY}}\ngradle.publish.secret=${{secrets.GRADLE_PUBLISH_SECRET}}" > ~/.gradle/gradle.properties
65- cd tools/gradle-plugin && gradle publishPlugins
66-
67- - uses : radcortez/milestone-release-action@main
68- name : milestone release
69- with :
70- github-token : ${{secrets.GITHUB_TOKEN}}
71- milestone-title : ${{steps.metadata.outputs.current-version}}
24+ perform-release :
25+ name : Perform Release
26+ uses : smallrye/.github/.github/workflows/perform-release.yml@main
27+ secrets : inherit
28+ with :
29+ version : ${{github.event.inputs.tag || github.ref_name}}
30+
31+ publish-gradle :
32+ name : Publish Gradle
33+ uses : ./.github/workflows/publish-gradle.yml
34+ secrets : inherit
35+ with :
36+ version : ${{github.event.inputs.tag || github.ref_name}}
0 commit comments