Skip to content

Commit 0306285

Browse files
authored
Update github workflows (#58)
* build: Update github workflows Cleanup and update after the move to GPC. * build: Fix publishing
1 parent e9ebd9f commit 0306285

File tree

4 files changed

+65
-72
lines changed

4 files changed

+65
-72
lines changed

.github/workflows/gradle.yml

+30-34
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Java CI
1+
name: "Java CI"
22
on:
33
push:
44
branches:
@@ -11,64 +11,60 @@ env:
1111
GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }}
1212

1313
jobs:
14-
1514
test_project:
16-
name: Test Project
15+
name: "Test Project"
1716
if: github.event_name == 'pull_request'
1817
runs-on: ubuntu-latest
1918
strategy:
2019
fail-fast: true
2120
matrix:
22-
java: [17]
23-
21+
java: [17, 21]
2422
steps:
25-
- uses: actions/checkout@v4
26-
- uses: gradle/wrapper-validation-action@v2
27-
- uses: actions/setup-java@v4
23+
- name: "📥 Checkout repository"
24+
uses: actions/checkout@v4
25+
- name: "☕️ Setup JDK"
26+
uses: actions/setup-java@v4
2827
with:
29-
distribution: temurin
28+
distribution: liberica
3029
java-version: ${{ matrix.java }}
31-
- uses: gradle/actions/setup-gradle@v3
32-
- name: Run tests
33-
env:
34-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
30+
- name: "🐘 Setup Gradle"
31+
uses: gradle/actions/setup-gradle@v4
32+
with:
33+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
34+
- name: "🏃 Run tests"
3535
run: ./gradlew check
36-
3736
publish_snapshot:
38-
name: Build Project and Publish Snapshot release
37+
name: "Build Project and Publish Snapshot release"
3938
runs-on: ubuntu-latest
4039
if: github.event_name == 'push'
41-
4240
steps:
43-
- uses: actions/checkout@v4
44-
- uses: gradle/wrapper-validation-action@v2
45-
- uses: actions/setup-java@v4
46-
with: { java-version: 17, distribution: temurin }
47-
- uses: gradle/actions/setup-gradle@v3
48-
49-
- name: Build Project
50-
env:
51-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
41+
- name: "📥 Checkout repository"
42+
uses: actions/checkout@v4
43+
- name: "☕️ Setup JDK"
44+
uses: actions/setup-java@v4
45+
with: {
46+
java-version: 17,
47+
distribution: liberica
48+
}
49+
- name: "🐘 Setup Gradle"
50+
uses: gradle/actions/setup-gradle@v4
51+
with:
52+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
53+
- name: "🔨 Build Project"
5254
run: ./gradlew build
53-
54-
- name: Publish Snapshot version to Artifactory (repo.grails.org)
55+
- name: "📤 Publish Snapshot version to Artifactory (repo.grails.org)"
5556
if: success()
5657
env:
57-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5858
ORG_GRADLE_PROJECT_artifactoryPublishUsername: ${{ secrets.ARTIFACTORY_USERNAME }}
5959
ORG_GRADLE_PROJECT_artifactoryPublishPassword: ${{ secrets.ARTIFACTORY_PASSWORD }}
6060
run: >
6161
./gradlew
6262
-Dorg.gradle.internal.publish.checksums.insecure=true
6363
publish
64-
65-
- name: Generate Snapshot Documentation
64+
- name: "📖 Generate Snapshot Documentation"
6665
if: success()
67-
env:
68-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
6966
run: ./gradlew docs
70-
71-
- name: Publish Snapshot Documentation to Github Pages
67+
- name: "📤 Publish Snapshot Documentation to Github Pages"
7268
if: success()
7369
uses: micronaut-projects/github-pages-deploy-action@grails
7470
env:

.github/workflows/release.yml

+23-27
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,51 @@
1-
name: Release
1+
name: "Release"
22
on:
33
release:
44
types: [published]
55
env:
66
GIT_USER_NAME: ${{ secrets.GIT_USER_NAME }}
77
GIT_USER_EMAIL: ${{ secrets.GIT_USER_EMAIL }}
8-
98
jobs:
109
release:
1110
runs-on: ubuntu-latest
12-
1311
steps:
14-
- uses: actions/checkout@v4
15-
- uses: gradle/wrapper-validation-action@v2
16-
- uses: actions/setup-java@v4
17-
with: { java-version: 11, distribution: temurin }
18-
- uses: gradle/actions/setup-gradle@v3
19-
20-
- name: Get the current release version
12+
- name: "📥 Checkout repository"
13+
uses: actions/checkout@v4
14+
- name: "☕️ Setup JDK"
15+
uses: actions/setup-java@v4
16+
with:
17+
distribution: liberica
18+
java-version: 17
19+
- name: "🐘 Setup Gradle"
20+
uses: gradle/actions/setup-gradle@v4
21+
with:
22+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
23+
- name: "📝 Store the current release version"
2124
id: release_version
2225
run: echo "release_version=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
23-
24-
- name: Run pre-release
26+
- name: "⚙ Run pre-release"
2527
uses: micronaut-projects/github-actions/pre-release@master
26-
27-
- name: Generate secring file
28+
- name: "🔐 Generate key file for artifact signing"
2829
env:
2930
SECRING_FILE: ${{ secrets.SECRING_FILE }}
3031
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
31-
32-
- name: Publish artifacts to Sonatype
32+
- name: "📤 Publish artifacts to Sonatype"
3333
id: publish_to_sonatype
3434
env:
35-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
3635
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
3736
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
3837
ORG_GRADLE_PROJECT_sonatypeStagingProfileId: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
39-
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
38+
SIGNING_KEY: ${{ secrets.SIGNING_KEY_ID }}
4039
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
4140
run: >
4241
./gradlew
4342
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
4443
publishToSonatype
4544
closeAndReleaseSonatypeStagingRepository
46-
47-
- name: Generate Documentation
45+
- name: "📖 Generate Documentation"
4846
if: success()
49-
env:
50-
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
5147
run: ./gradlew docs
52-
53-
- name: Publish Documentation to Github Pages
48+
- name: "📤 Publish Documentation to Github Pages"
5449
if: success()
5550
uses: micronaut-projects/github-pages-deploy-action@grails
5651
env:
@@ -60,7 +55,8 @@ jobs:
6055
FOLDER: build/docs/manual
6156
GH_TOKEN: ${{ secrets.GH_TOKEN }}
6257
VERSION: ${{ steps.release_version.outputs.release_version }}
63-
64-
- name: Run post-release
58+
- name: "⚙️ Run post-release"
6559
if: steps.publish_to_sonatype.outcome == 'success'
66-
uses: micronaut-projects/github-actions/post-release@master
60+
uses: micronaut-projects/github-actions/post-release@master
61+
with:
62+
token: ${{ secrets.GITHUB_TOKEN }}

gradle/publishing.gradle

+3-4
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ext.set('signing.password', findProperty('signing.password') ?: System.getenv('S
66
def javaComponent = components.named('java')
77
publishing {
88
publications {
9-
register('grailsMailPlugin', MavenPublication) {
9+
maven(MavenPublication) {
1010
from javaComponent.get()
1111
versionMapping {
1212
usage('java-api') { fromResolutionOf('runtimeClasspath') }
@@ -91,14 +91,13 @@ publishing {
9191
}
9292
}
9393

94-
def mavenPublication = extensions.findByType(PublishingExtension).publications.named('grailsMailPlugin')
9594
tasks.withType(Sign).configureEach {
9695
onlyIf { isReleaseVersion }
9796
}
9897
afterEvaluate {
9998
signing {
100-
required = { isReleaseVersion }
101-
sign(mavenPublication.get())
99+
required = { isReleaseVersion && gradle.taskGraph.hasTask('publish') }
100+
sign(publishing.publications.maven)
102101
}
103102
}
104103

settings.gradle

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
plugins {
2-
id 'com.gradle.develocity' version '3.17.1'
3-
id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0'
2+
id 'com.gradle.develocity' version '3.18.1'
3+
id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0.2'
44
}
55

6-
def isCI = System.getenv('CI') == 'true'
6+
def isCI = System.getenv('CI') != null
7+
def isLocal = !isCI
8+
def isAuthenticated = System.getenv('DEVELOCITY_ACCESS_KEY') != null
79

810
develocity {
911
server = 'https://ge.grails.org'
1012
buildScan {
11-
publishing.onlyIf { isCI }
12-
uploadInBackground = !isCI
13+
publishing.onlyIf { isAuthenticated }
14+
uploadInBackground = isLocal
1315
}
1416
}
1517

1618
buildCache {
17-
local { enabled = !isCI }
19+
local { enabled = isLocal }
1820
remote(develocity.buildCache) {
21+
push = isCI && isAuthenticated
1922
enabled = true
20-
push = isCI && System.getenv('DEVELOCITY_ACCESS_KEY')
2123
}
2224
}
2325

0 commit comments

Comments
 (0)