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

Commit ad1a286

Browse files
committed
Grails 7 - build cleanup related to grails-publish update
1 parent 8722ce0 commit ad1a286

File tree

8 files changed

+134
-254
lines changed

8 files changed

+134
-254
lines changed

.github/workflows/gradle.yml

Lines changed: 71 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,90 @@ jobs:
1111
build:
1212
runs-on: ubuntu-latest
1313
env:
14-
WORKSPACE: ${{ github.workspace }}
1514
GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
1615
steps:
17-
- uses: actions/checkout@v4
18-
- name: Set up JDK
16+
- name: "📥 Checkout repository"
17+
uses: actions/checkout@v4
18+
- name: "☕️ Setup JDK"
1919
uses: actions/setup-java@v4
2020
with:
21-
distribution: 'temurin'
22-
java-version: 17
23-
- name: Run Tests
24-
if: github.event_name == 'pull_request'
25-
id: tests
26-
uses: gradle/gradle-build-action@v2
21+
distribution: liberica
22+
java-version: ${{ matrix.java }}
23+
- name: "🐘 Setup Gradle"
24+
uses: gradle/actions/setup-gradle@v4
2725
with:
28-
arguments: check -Dgeb.env=chromeHeadless
29-
- name: Run Build
30-
if: github.event_name == 'push'
26+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
27+
- name: "🔨 Build project"
3128
id: build
32-
uses: gradle/gradle-build-action@v2
3329
env:
34-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
35-
with:
36-
arguments: build -Dgeb.env=chromeHeadless
30+
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
31+
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
32+
run:
33+
./gradlew build
3734
- name: Publish Test Report
38-
if: steps.build.outcome == 'failure' || steps.tests.outcome == 'failure'
35+
if: steps.build.outcome == 'failure'
3936
uses: scacap/action-surefire-report@v1
4037
with:
4138
github_token: ${{ secrets.GITHUB_TOKEN }}
4239
report_paths: '**/build/test-results/test/TEST-*.xml'
43-
- name: Publish to repo.grails.org
40+
publish:
41+
if: github.event_name == 'push'
42+
needs: [ 'build' ]
43+
runs-on: ubuntu-latest
44+
steps:
45+
- name: "📥 Checkout repository"
46+
uses: actions/checkout@v4
47+
- name: "☕️ Setup JDK"
48+
uses: actions/setup-java@v4
49+
with:
50+
distribution: liberica
51+
java-version: 17
52+
- name: "🐘 Setup Gradle"
53+
uses: gradle/actions/setup-gradle@v4
54+
with:
55+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
56+
- name: "📤 Publish Snapshot Artifacts"
4457
id: publish
45-
uses: gradle/gradle-build-action@v2
46-
if: steps.build.outcome == 'success' && github.event_name == 'push'
4758
env:
48-
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
49-
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
59+
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
60+
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
61+
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
62+
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
63+
run: ./gradlew publish
64+
docs:
65+
if: github.event_name == 'push'
66+
needs: publish
67+
runs-on: ubuntu-latest
68+
permissions:
69+
contents: write
70+
env:
71+
GIT_USER_NAME: grails-build
72+
GIT_USER_EMAIL: grails-build@users.noreply.github.com
73+
steps:
74+
- name: "📥 Checkout repository"
75+
uses: actions/checkout@v4
76+
- name: "☕️ Setup JDK"
77+
uses: actions/setup-java@v4
5078
with:
51-
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
52-
- name: Build Documentation
53-
id: docs
54-
uses: gradle/gradle-build-action@v2
79+
distribution: liberica
80+
java-version: 17
81+
- name: "🐘 Setup Gradle"
82+
uses: gradle/actions/setup-gradle@v4
5583
with:
56-
arguments: docs:docs
84+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
85+
- name: "📜 Build Documentation"
86+
id: docs
87+
run: ./gradlew docs:docs
88+
- name: "🚀 Publish to Github Pages"
89+
id: docs
90+
if: success()
91+
uses: grails/github-pages-deploy-action@v2
92+
env:
93+
SKIP_SNAPSHOT: ${{ contains(needs.publish.outputs.release_version, 'M') }}
94+
TARGET_REPOSITORY: ${{ github.repository }}
95+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
96+
BRANCH: gh-pages
97+
FOLDER: docs/build/docs
98+
DOC_FOLDER: gh-pages
99+
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
100+
COMMIT_NAME: ${{ env.GIT_USER_NAME }}

.github/workflows/release.yml

Lines changed: 42 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,22 @@ jobs:
88
release_version: ${{ steps.release_version.outputs.value }}
99
runs-on: ubuntu-latest
1010
env:
11-
GIT_USER_NAME: puneetbehl
12-
GIT_USER_EMAIL: behlp@unityfoundation.io
11+
GIT_USER_NAME: 'grails-build'
12+
GIT_USER_EMAIL: 'grails-build@users.noreply.github.com'
1313
steps:
14-
- name: Checkout repository
14+
- name: "📥 Checkout repository"
1515
uses: actions/checkout@v4
1616
with:
1717
token: ${{ secrets.GH_TOKEN }}
18-
- name: Set up JDK
18+
- name: "☕️ Setup JDK"
1919
uses: actions/setup-java@v4
2020
with:
21-
distribution: 'temurin'
22-
java-version: '17'
21+
distribution: liberica
22+
java-version: 17
23+
- name: "🐘 Setup Gradle"
24+
uses: gradle/actions/setup-gradle@v4
25+
with:
26+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
2327
- name: Set the current release version
2428
id: release_version
2529
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
@@ -30,9 +34,7 @@ jobs:
3034
- name: Run Assemble
3135
if: success()
3236
id: assemble
33-
uses: gradle/gradle-build-action@v2
34-
with:
35-
arguments: assemble
37+
run: ./gradlew assemble
3638
env:
3739
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
3840
- name: Upload Distribution
@@ -47,18 +49,17 @@ jobs:
4749
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
4850
- name: Publish to Sonatype OSSRH
4951
id: publish
50-
uses: gradle/gradle-build-action@v2
5152
env:
5253
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
53-
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
54-
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
55-
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
56-
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
54+
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
55+
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
56+
NEXUS_PUBLISH_NEXUS_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
57+
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
5758
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
5859
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
5960
SECRING_FILE: ${{ secrets.SECRING_FILE }}
60-
with:
61-
arguments: |
61+
run: >
62+
./gradlew
6263
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
6364
publishToSonatype
6465
closeSonatypeStagingRepository
@@ -68,26 +69,32 @@ jobs:
6869
permissions:
6970
contents: read
7071
steps:
71-
- uses: actions/checkout@v4
72-
- name: Set up JDK
72+
- name: "📥 Checkout repository"
73+
uses: actions/checkout@v4
74+
with:
75+
token: ${{ secrets.GH_TOKEN }}
76+
- name: "☕️ Setup JDK"
7377
uses: actions/setup-java@v4
7478
with:
75-
distribution: 'temurin'
76-
java-version: '17'
79+
distribution: liberica
80+
java-version: 17
7781
- name: Checkout repository
7882
uses: actions/checkout@v4
7983
with:
8084
token: ${{ secrets.GH_TOKEN }}
8185
ref: v${{ needs.publish.outputs.release_version }}
86+
- name: "🐘 Setup Gradle"
87+
uses: gradle/actions/setup-gradle@v4
88+
with:
89+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
8290
- name: Nexus Staging Close And Release
83-
uses: gradle/gradle-build-action@v2
8491
env:
8592
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
86-
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
87-
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
88-
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
89-
with:
90-
arguments: |
93+
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
94+
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
95+
NEXUS_PUBLISH_NEXUS_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
96+
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
97+
run: >
9198
findSonatypeStagingRepository
9299
releaseSonatypeStagingRepository
93100
- name: Run post-release
@@ -106,18 +113,20 @@ jobs:
106113
- name: Set up JDK
107114
uses: actions/setup-java@v4
108115
with:
109-
distribution: 'temurin'
116+
distribution: 'liberica'
110117
java-version: '17'
111118
- name: Checkout repository
112119
uses: actions/checkout@v4
113120
with:
114121
token: ${{ secrets.GH_TOKEN }}
115122
ref: v${{ needs.publish.outputs.release_version }}
123+
- name: "🐘 Setup Gradle"
124+
uses: gradle/actions/setup-gradle@v4
125+
with:
126+
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
116127
- name: Build Documentation
117128
id: docs
118-
uses: gradle/gradle-build-action@v2
119-
with:
120-
arguments: docs:docs
129+
run: ./gradlew docs:docs
121130
- name: Publish to Github Pages
122131
if: success()
123132
uses: grails/github-pages-deploy-action@v2
@@ -126,8 +135,8 @@ jobs:
126135
TARGET_REPOSITORY: ${{ github.repository }}
127136
GH_TOKEN: ${{ secrets.GH_TOKEN }}
128137
BRANCH: gh-pages
129-
FOLDER: build/docs
138+
FOLDER: docs/build/docs
130139
DOC_FOLDER: gh-pages
131-
COMMIT_EMAIL: behlp@unityfoundation.io
132-
COMMIT_NAME: Puneet Behl
140+
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
141+
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
133142
VERSION: ${{ needs.publish.outputs.release_version }}

build.gradle

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
1-
plugins {
2-
id 'groovy'
3-
}
4-
5-
java {
6-
toolchain {
7-
languageVersion = JavaLanguageVersion.of(17)
1+
buildscript {
2+
repositories {
3+
maven { url "https://plugins.gradle.org/m2/" }
4+
maven { url "https://repo.grails.org/grails/core" }
5+
}
6+
dependencies {
7+
classpath "org.grails:grails-gradle-plugin:$grailsGradlePluginVersion"
88
}
99
}
1010

11-
subprojects {
12-
configurations.configureEach {
13-
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
14-
if (details.requested.group == 'org.seleniumhq.selenium') {
15-
details.useVersion(seleniumVersion)
16-
}
17-
}
18-
}
11+
plugins {
12+
id 'groovy'
1913
}
14+
15+
compileJava.options.release = 17

docs/src/docs/code/build.gradle

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,6 @@ dependencies {
4242
profile "org.grails.profiles:web"
4343
runtime "com.bertramlabs.plugins:asset-pipeline-grails:2.14.1"
4444
runtime "com.h2database:h2"
45-
testCompile "org.grails.plugins:geb"
46-
testRuntime "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
47-
testRuntime "net.sourceforge.htmlunit:htmlunit:2.18"
4845
compile "org.grails.plugins:spring-security-acl:${file('../../../version.txt').text.trim()}"
4946
}
5047

functional-test-app/build.gradle

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ buildscript {
55
}
66
dependencies {
77
classpath "org.grails:grails-gradle-plugin:$grailsVersion"
8-
classpath "org.grails.plugins:hibernate5:$gormVersion"
9-
classpath "com.github.erdi:webdriver-binaries-gradle-plugin:3.2"
108
}
119
}
1210

@@ -17,7 +15,6 @@ apply plugin:"eclipse"
1715
apply plugin:"idea"
1816
apply plugin:"war"
1917
apply plugin:"org.grails.grails-web"
20-
apply plugin:"com.github.erdi.webdriver-binaries"
2118
apply plugin:"org.grails.grails-gsp"
2219

2320
repositories {
@@ -52,25 +49,11 @@ dependencies {
5249
testImplementation "org.grails:grails-gorm-testing-support"
5350
testImplementation "org.grails:grails-web-testing-support"
5451
integrationTestImplementation testFixtures('org.grails.plugins:geb')
55-
56-
testRuntimeOnly "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
57-
testRuntimeOnly "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
58-
testRuntimeOnly "org.seleniumhq.selenium:selenium-safari-driver:$seleniumVersion"
59-
testImplementation "org.seleniumhq.selenium:selenium-remote-driver:$seleniumVersion"
60-
testImplementation "org.seleniumhq.selenium:selenium-api:$seleniumVersion"
6152
implementation project(':spring-security-acl')
6253
}
6354

6455
tasks.withType(Test) {
6556
useJUnitPlatform()
66-
systemProperty "geb.env", System.getProperty('geb.env')
67-
systemProperty "geb.build.reportsDir", reporting.file("geb/integrationTest")
68-
if (System.getenv('CHROMEWEBDRIVER')) {
69-
systemProperty 'webdriver.chrome.driver', "${System.getenv('CHROMEWEBDRIVER')}/chromedriver"
70-
}
71-
if (System.getenv('GECKOWEBDRIVER')) {
72-
systemProperty 'webdriver.gecko.driver', "${System.getenv('GECKOWEBDRIVER')}/geckodriver"
73-
}
7457

7558
beforeTest { descriptor -> logger.quiet " -- $descriptor" }
7659
testLogging {

functional-test-app/src/integration-test/resources/GebConfig.groovy

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)