44 workflow_dispatch :
55 inputs :
66 version :
7- description : " Release version"
7+ description : ' Release version'
88 required : true
9- ref :
10- description : " Branch, tag or SHA to checkout"
11- required : false
9+ branch :
10+ description : ' Branch'
1211 default : ' master'
12+ required : true
13+
1314jobs :
1415 release :
1516 name : Release
16- runs-on : ubuntu-latest
17- steps :
18- - name : Checkout
19- uses : actions/checkout@v3
20- with :
21- ref : ${{ github.event.inputs.ref }}
22- fetch-depth : 0
23-
24- - name : Set up Java
25- uses : actions/setup-java@v3
26- with :
27- distribution : zulu
28- java-version : 17
29-
30- - uses : actions/cache@v3
31- with :
32- path : ~/.m2/repository
33- key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
34- restore-keys : |
35- ${{ runner.os }}-maven-
36-
37- - name : Set release version
38- run : |
39- VERSION=${{ github.event.inputs.version }}
40- ./mvnw versions:set -DnewVersion=$VERSION
41-
42- - name : Build
43- run : ./mvnw --no-transfer-progress -B --file pom.xml verify
44-
45- - name : Show Reports
46- uses : actions/upload-artifact@v3
47- if : failure()
48- with :
49- name : reports-${{ runner.os }}
50- path : target/
51-
52- - name : Release
53- uses : jreleaser/release-action@v2
54- env :
55- JRELEASER_PROJECT_VERSION : ${{ github.event.inputs.version }}
56- JRELEASER_GITHUB_TOKEN : ${{ secrets.GIT_ACCESS_TOKEN }}
57- JRELEASER_GPG_PASSPHRASE : ${{ secrets.GPG_PASSPHRASE }}
58- JRELEASER_GPG_PUBLIC_KEY : ${{ secrets.GPG_PUBLIC_KEY }}
59- JRELEASER_GPG_SECRET_KEY : ${{ secrets.GPG_SECRET_KEY }}
60- JRELEASER_SLACK_WEBHOOK : ${{ secrets.SLACK_WEBHOOK }}
61-
62- - name : Commit release version
63- run : |
64- VERSION=${{ github.event.inputs.version }}
65- sed -i -e "s/^\:project-version\:\ \ \ \ .*/:project-version: $VERSION/g" README.adoc
66- git add pom.xml
67- git add README.adoc
68- git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
69- git config --global user.name "GitHub Action"
70- git commit -a -m "Releasing version $VERSION"
71- git push origin ${{ github.event.inputs.ref }}
72-
73- - name : JReleaser output
74- if : always()
75- uses : actions/upload-artifact@v3
76- with :
77- name : artifact
78- path : |
79- out/jreleaser/trace.log
80- out/jreleaser/output.properties
81-
82- - name : Set up QEMU
83- uses : docker/setup-qemu-action@v2
84-
85- - name : Set up Docker Buildx
86- uses : docker/setup-buildx-action@v2
87-
88- - name : Login to DockerHub
89- uses : docker/login-action@v2
90- with :
91- username : ${{ secrets.DOCKER_USERNAME }}
92- password : ${{ secrets.DOCKER_PASSWORD }}
93-
94- - name : Build and push
95- uses : docker/build-push-action@v3
96- with :
97- push : ${{ github.event_name != 'pull_request' }}
98- tags : fieldengineering/redis-sql-trino:latest,fieldengineering/redis-sql-trino:${{ github.event.inputs.version }}
99-
100- - name : Deploy
101- uses : peaceiris/actions-gh-pages@v3
102- with :
103- github_token : ${{ secrets.GIT_ACCESS_TOKEN }}
104- publish_dir : ./target/generated-docs
105-
106- - name : Commit next development version
107- run : |
108- ./mvnw build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT
109- git add pom.xml
110- git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
111- git config --global user.name "GitHub Action"
112- git commit -a -m "build: Bump for next development cycle"
113- git push origin ${{ github.event.inputs.ref }}
17+ uses : redis-field-engineering/redis-github-workflows/.github/workflows/release-maven.yml@main
18+ with :
19+ branch : ${{ github.event.inputs.branch }}
20+ version : ${{ github.event.inputs.version }}
21+ secrets :
22+ github-token : ${{ secrets.GIT_ACCESS_TOKEN }}
23+ gpg-passphrase : ${{ secrets.GPG_PASSPHRASE }}
24+ gpg-public-key : ${{ secrets.GPG_PUBLIC_KEY }}
25+ gpg-secret-key : ${{ secrets.GPG_SECRET_KEY }}
26+ docker-username : ${{ secrets.DOCKER_USERNAME }}
27+ docker-password : ${{ secrets.DOCKER_PASSWORD }}
28+ sonatype-username : ${{ secrets.SONATYPE_USERNAME }}
29+ sonatype-password : ${{ secrets.SONATYPE_PASSWORD }}
30+ slack-webhook : ${{ secrets.SLACK_WEBHOOK }}
31+
32+ publish :
33+ name : Publish
34+ uses : redis-field-engineering/redis-github-workflows/.github/workflows/publish-maven.yml@main
35+ with :
36+ branch : ${{ github.event.inputs.branch }}
37+ version : ${{ github.event.inputs.version }}
38+ secrets :
39+ github-token : ${{ secrets.GIT_ACCESS_TOKEN }}
40+
41+ docker :
42+ name : ' Docker'
43+ uses : redis-field-engineering/redis-github-workflows/.github/workflows/docker.yml@main
44+ with :
45+ tags : fieldengineering/redis-sql-trino:latest,fieldengineering/redis-sql-trino:${{ github.event.inputs.version }}
46+ secrets :
47+ github-token : ${{ secrets.GIT_ACCESS_TOKEN }}
48+ docker-username : ${{ secrets.DOCKER_USERNAME }}
49+ docker-password : ${{ secrets.DOCKER_PASSWORD }}
0 commit comments