Skip to content
This repository was archived by the owner on Feb 28, 2025. It is now read-only.

Commit 7015c4b

Browse files
authored
Update Release Workflow (#96)
Breakdown into multiple jobs
1 parent a9f75eb commit 7015c4b

File tree

1 file changed

+88
-25
lines changed

1 file changed

+88
-25
lines changed

.github/workflows/release.yml

Lines changed: 88 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,46 @@ on:
33
release:
44
types: [published]
55
jobs:
6-
release:
6+
publish:
7+
outputs:
8+
release_version: ${{ steps.release_version.outputs.value }}
79
runs-on: ubuntu-latest
8-
strategy:
9-
matrix:
10-
java: ['8']
1110
env:
1211
GIT_USER_NAME: puneetbehl
13-
GIT_USER_EMAIL: behlp@objectcomputing.com
12+
GIT_USER_EMAIL: behlp@unityfoundation.io
1413
steps:
1514
- name: Checkout repository
1615
uses: actions/checkout@v4
1716
with:
1817
token: ${{ secrets.GH_TOKEN }}
19-
- uses: gradle/wrapper-validation-action@v1
2018
- name: Set up JDK
2119
uses: actions/setup-java@v4
2220
with:
2321
distribution: 'adopt'
24-
java-version: ${{ matrix.java }}
22+
java-version: '8'
2523
- name: Set the current release version
2624
id: release_version
27-
run: echo ::set-output name=release_version::${GITHUB_REF:11}
25+
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
2826
- name: Run pre-release
2927
uses: micronaut-projects/github-actions/pre-release@master
3028
with:
3129
token: ${{ secrets.GITHUB_TOKEN }}
30+
- name: Run Assemble
31+
if: success()
32+
id: assemble
33+
uses: gradle/gradle-build-action@v2
34+
with:
35+
arguments: assemble
36+
env:
37+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
38+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
39+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
40+
- name: Upload Distribution
41+
if: success()
42+
uses: actions/upload-artifact@v4
43+
with:
44+
name: spring-security-cas-${{ steps.release_version.outputs.value }}.jar
45+
path: build/distributions/spring-security-cas-${{ steps.release_version.outputs.value }}-plain.jar
3246
- name: Generate secring file
3347
env:
3448
SECRING_FILE: ${{ secrets.SECRING_FILE }}
@@ -37,6 +51,9 @@ jobs:
3751
id: publish
3852
uses: gradle/gradle-build-action@v2
3953
env:
54+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
55+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
56+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
4057
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
4158
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
4259
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
@@ -45,32 +62,78 @@ jobs:
4562
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
4663
SECRING_FILE: ${{ secrets.SECRING_FILE }}
4764
with:
48-
arguments: -Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg publishToSonatype closeAndReleaseSonatypeStagingRepository
49-
- name: Publish Documentation
65+
arguments: |
66+
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
67+
publishToSonatype
68+
closeSonatypeStagingRepository
69+
release:
70+
needs: publish
71+
runs-on: ubuntu-latest
72+
permissions:
73+
contents: read
74+
steps:
75+
- uses: actions/checkout@v4
76+
- name: Set up JDK
77+
uses: actions/setup-java@v4
78+
with:
79+
distribution: 'adopt'
80+
java-version: '8'
81+
- name: Checkout repository
82+
uses: actions/checkout@v4
83+
with:
84+
token: ${{ secrets.GH_TOKEN }}
85+
ref: v${{ needs.publish.outputs.release_version }}
86+
- name: Nexus Staging Close And Release
87+
uses: gradle/gradle-build-action@v2
88+
env:
89+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
90+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
91+
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
92+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
93+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
94+
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
95+
with:
96+
arguments: |
97+
findSonatypeStagingRepository
98+
releaseSonatypeStagingRepository
99+
- name: Run post-release
100+
if: success()
101+
uses: micronaut-projects/github-actions/post-release@master
102+
with:
103+
token: ${{ secrets.GITHUB_TOKEN }}
104+
env:
105+
SNAPSHOT_SUFFIX: -SNAPSHOT
106+
docs:
107+
needs: publish
108+
runs-on: ubuntu-latest
109+
permissions:
110+
contents: write
111+
steps:
112+
- name: Set up JDK
113+
uses: actions/setup-java@v4
114+
with:
115+
distribution: 'adopt'
116+
java-version: '8'
117+
- name: Checkout repository
118+
uses: actions/checkout@v4
119+
with:
120+
token: ${{ secrets.GH_TOKEN }}
121+
ref: v${{ needs.publish.outputs.release_version }}
122+
- name: Build Documentation
50123
id: docs
51-
if: steps.publish.outcome == 'success'
52124
uses: gradle/gradle-build-action@v2
53125
with:
54126
arguments: docs:docs
55-
- name: Export Gradle Properties
56-
uses: micronaut-projects/github-actions/export-gradle-properties@master
57127
- name: Publish to Github Pages
58-
if: steps.docs.outcome == 'success'
59-
uses: micronaut-projects/github-pages-deploy-action@master
128+
if: success()
129+
uses: grails/github-pages-deploy-action@v2
60130
env:
61-
BETA: ${{ contains(steps.release_version.outputs.release_version, 'M') || contains(steps.release_version.outputs.release_version, 'RC') }}
131+
SKIP_LATEST: ${{ contains(needs.publish.outputs.release_version, 'M') }}
62132
TARGET_REPOSITORY: ${{ github.repository }}
63133
GH_TOKEN: ${{ secrets.GH_TOKEN }}
64134
BRANCH: gh-pages
65135
FOLDER: docs/build/docs
66136
DOC_FOLDER: gh-pages
67-
COMMIT_EMAIL: behlp@objectcomputing.com
137+
COMMIT_EMAIL: behlp@unityfoundation.io
68138
COMMIT_NAME: Puneet Behl
69-
VERSION: ${{ steps.release_version.outputs.release_version }}
70-
- name: Run post-release
71-
if: steps.publish.outcome == 'success' && steps.docs.outcome == 'success' && success()
72-
uses: micronaut-projects/github-actions/post-release@master
73-
with:
74-
token: ${{ secrets.GITHUB_TOKEN }}
75-
env:
76-
SNAPSHOT_SUFFIX: -SNAPSHOT
139+
VERSION: ${{ needs.publish.outputs.release_version }}

0 commit comments

Comments
 (0)