Skip to content

Commit 680ca9d

Browse files
authored
Merge pull request #227 from jdaugherty/8.0.x
Restructure grails-cache so that plugin, examples, and docs are separate
2 parents cc15120 + bde62d0 commit 680ca9d

File tree

80 files changed

+550
-414
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+550
-414
lines changed

.github/workflows/gradle.yml

Lines changed: 38 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -12,91 +12,82 @@ jobs:
1212
runs-on: ubuntu-latest
1313
permissions:
1414
contents: read
15-
env:
16-
WORKSPACE: ${{ github.workspace }}
17-
GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
15+
packages: read
1816
steps:
19-
- uses: actions/checkout@v4
20-
- name: Set up JDK
17+
- name: "📥 Checkout the repository"
18+
uses: actions/checkout@v4
19+
- name: "☕️ Setup JDK"
2120
uses: actions/setup-java@v4
2221
with:
2322
distribution: 'liberica'
2423
java-version: '17'
25-
- name: Run Build
26-
if: success()
24+
- name: "🐘 Setup Gradle"
25+
uses: gradle/actions/setup-gradle@v4
26+
with:
27+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
28+
- name: "🔨 Run Build"
2729
id: build
28-
uses: gradle/gradle-build-action@v3
2930
env:
30-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
31-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
32-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
3331
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
34-
with:
35-
arguments: build -Dgeb.env=chromeHeadless
36-
- name: Upload Distribution
37-
if: success()
38-
uses: actions/upload-artifact@v4
39-
with:
40-
name: grails-gsp-SNAPSHOT
41-
path: ./**/build/libs/*
32+
run: ./gradlew build --refresh-dependencies
4233
publish:
4334
if: github.event_name == 'push'
4435
needs: build
4536
runs-on: ubuntu-latest
4637
permissions:
4738
contents: read
39+
packages: read
4840
steps:
49-
- uses: actions/checkout@v4
50-
- name: Set up JDK
41+
- name: "📥 Checkout the repository"
42+
uses: actions/checkout@v4
43+
- name: "☕️ Setup JDK"
5144
uses: actions/setup-java@v4
5245
with:
5346
distribution: 'liberica'
5447
java-version: '17'
55-
- name: Publish to repo.grails.org
56-
id: publish
57-
uses: gradle/gradle-build-action@v3
58-
if: success()
48+
- name: "🐘 Setup Gradle"
49+
uses: gradle/actions/setup-gradle@v4
50+
with:
51+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
52+
- name: "📤 Publish Snapshot to repo.grails.org"
5953
env:
60-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
61-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
62-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
54+
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
55+
GRADLE_PUBLISH_RELEASE: 'false'
6356
MAVEN_PUBLISH_USERNAME: ${{ secrets.MAVEN_PUBLISH_USERNAME }}
6457
MAVEN_PUBLISH_PASSWORD: ${{ secrets.MAVEN_PUBLISH_PASSWORD }}
6558
MAVEN_PUBLISH_URL: ${{ secrets.MAVEN_PUBLISH_SNAPSHOT_URL }}
66-
with:
67-
arguments: publish
59+
run: ./gradlew publish
6860
docs:
6961
if: github.event_name == 'push'
7062
needs: build
7163
runs-on: ubuntu-latest
7264
permissions:
7365
contents: write
66+
packages: read
7467
steps:
75-
- uses: actions/checkout@v4
76-
- name: Set up JDK
68+
- name: "📥 Checkout the repository"
69+
uses: actions/checkout@v4
70+
- name: "☕️ Setup JDK"
7771
uses: actions/setup-java@v4
7872
with:
7973
distribution: 'liberica'
8074
java-version: '17'
81-
- name: Build Docs
75+
- name: "🐘 Setup Gradle"
76+
uses: gradle/actions/setup-gradle@v4
77+
with:
78+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
79+
- name: "🔨 Build Docs"
8280
id: docs
83-
if: success()
84-
uses: gradle/gradle-build-action@v3
8581
env:
86-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
87-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
88-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
89-
with:
90-
arguments: docs
91-
- name: Publish to Github Pages
92-
if: success()
82+
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
83+
run: ./gradlew docs:docs --refresh-dependencies
84+
- name: "📤 Publish docs to Github Pages"
85+
if: steps.docs.outcome == 'success'
9386
uses: grails/github-pages-deploy-action@v2
9487
env:
95-
SKIP_SNAPSHOT: true
9688
TARGET_REPOSITORY: ${{ github.repository }}
9789
GH_TOKEN: ${{ secrets.GH_TOKEN }}
9890
BRANCH: gh-pages
99-
FOLDER: build/docs
100-
DOC_FOLDER: gh-pages
101-
COMMIT_EMAIL: 'grails-build@users.noreply.github.com'
102-
COMMIT_NAME: 'grails-build'
91+
FOLDER: docs/build/docs
92+
COMMIT_EMAIL: grails-build@users.noreply.github.com
93+
COMMIT_NAME: grails-build

.github/workflows/release.yml

Lines changed: 55 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -2,150 +2,123 @@ name: Release
22
on:
33
release:
44
types: [published]
5+
env:
6+
GIT_USER_NAME: 'grails-build'
7+
GIT_USER_EMAIL: 'grails-build@users.noreply.github.com'
58
jobs:
69
publish:
710
outputs:
811
release_version: ${{ steps.release_version.outputs.value }}
912
runs-on: ubuntu-latest
1013
permissions:
1114
contents: read
12-
env:
13-
GIT_USER_NAME: 'grails-build'
14-
GIT_USER_EMAIL: 'grails-build@users.noreply.github.com'
15+
packages: read
1516
steps:
1617
- name: Checkout repository
1718
uses: actions/checkout@v4
18-
with:
19-
token: ${{ secrets.GH_TOKEN }}
20-
- uses: gradle/wrapper-validation-action@v2
21-
- name: Set up JDK
19+
- name: "☕️ Setup JDK"
2220
uses: actions/setup-java@v4
2321
with:
2422
distribution: 'liberica'
2523
java-version: '17'
26-
- name: Set the current release version
24+
- name: "📝 Store the current release version"
2725
id: release_version
2826
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
29-
- name: Run pre-release
30-
uses: grails/github-actions/pre-release@main
27+
- name: "🐘 Setup Gradle"
28+
uses: gradle/actions/setup-gradle@v4
3129
with:
32-
token: ${{ secrets.GITHUB_TOKEN }}
33-
- name: Run Assemble
30+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
31+
- name: "⚙ Run pre-release"
32+
uses: grails/github-actions/pre-release@main
33+
- name: "🧩 Run Assemble"
3434
if: success()
35-
id: assemble
36-
uses: gradle/gradle-build-action@v3
37-
with:
38-
arguments: assemble
35+
run: ./gradlew assemble
3936
env:
40-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
41-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
42-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
4337
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
44-
- name: Upload Distribution
45-
if: success()
46-
uses: actions/upload-artifact@v4
47-
with:
48-
name: grails-gsp-${{ steps.release_version.outputs.value }}
49-
path: ./**/build/libs/*
50-
- name: Generate secring file
38+
- name: "🔐 Generate key file for artifact signing"
5139
env:
5240
SECRING_FILE: ${{ secrets.SECRING_FILE }}
5341
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
54-
- name: Publish to Sonatype OSSRH
42+
- name: "📤 Publish to and close Sonatype staging repository"
5543
id: publish
56-
uses: gradle/gradle-build-action@v3
5744
env:
58-
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
59-
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
60-
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
61-
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
45+
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
46+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
47+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
48+
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
6249
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
6350
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
6451
SECRING_FILE: ${{ secrets.SECRING_FILE }}
65-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
66-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
67-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
68-
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
69-
with:
70-
arguments: |
71-
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
72-
publishToSonatype
73-
closeSonatypeStagingRepository
52+
GRADLE_PUBLISH_RELEASE: 'true'
53+
run: >
54+
./gradlew
55+
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
56+
publishToSonatype
57+
closeSonatypeStagingRepository
7458
release:
7559
needs: publish
7660
runs-on: ubuntu-latest
7761
permissions:
7862
contents: read
7963
steps:
80-
- name: Checkout repository
64+
- name: "📥 Checkout repository"
8165
uses: actions/checkout@v4
8266
with:
83-
token: ${{ secrets.GH_TOKEN }}
8467
ref: v${{ needs.publish.outputs.release_version }}
85-
- name: Set up JDK
68+
- name: "☕️ Setup JDK"
8669
uses: actions/setup-java@v4
8770
with:
8871
distribution: 'liberica'
8972
java-version: '17'
90-
- name: Nexus Staging Close And Release
91-
uses: gradle/gradle-build-action@v3
73+
- name: "🐘 Setup Gradle"
74+
uses: gradle/actions/setup-gradle@v4
75+
with:
76+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
77+
- name: "🚀 Release Sonatype Staging Repository"
9278
env:
93-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
94-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
95-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
96-
NEXUS_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
97-
NEXUS_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
98-
NEXUS_PUBLISH_URL: ${{ secrets.NEXUS_PUBLISH_RELEASE_URL }}
99-
NEXUS_PUBLISH_STAGING_PROFILE_ID: ${{ secrets.NEXUS_PUBLISH_STAGING_PROFILE_ID }}
10079
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
101-
with:
102-
arguments: |
103-
findSonatypeStagingRepository
104-
releaseSonatypeStagingRepository
105-
- name: Run post-release
80+
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
81+
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
82+
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
83+
run: >
84+
./gradlew
85+
findSonatypeStagingRepository
86+
releaseSonatypeStagingRepository
87+
- name: "⚙️ Run post-release"
10688
if: success()
10789
uses: grails/github-actions/post-release@main
108-
with:
109-
token: ${{ secrets.GITHUB_TOKEN }}
110-
env:
111-
SNAPSHOT_SUFFIX: -SNAPSHOT
11290
docs:
11391
needs: publish
11492
runs-on: ubuntu-latest
11593
permissions:
11694
contents: write
95+
packages: read
11796
steps:
118-
- name: Checkout repository
97+
- name: "📥 Checkout repository"
11998
uses: actions/checkout@v4
12099
with:
121-
token: ${{ secrets.GH_TOKEN }}
122100
ref: v${{ needs.publish.outputs.release_version }}
123-
- name: Set up JDK
101+
- name: "☕️ Setup JDK"
124102
uses: actions/setup-java@v4
125103
with:
126104
distribution: 'liberica'
127105
java-version: '17'
128-
- name: Publish Documentation
129-
id: docs
130-
if: success()
131-
uses: gradle/gradle-build-action@v3
106+
- name: "🐘 Setup Gradle"
107+
uses: gradle/actions/setup-gradle@v4
132108
with:
133-
arguments: docs
109+
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
110+
- name: "📖 Generate documentation"
134111
env:
135-
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
136-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
137-
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
138112
GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }}
139-
- name: Publish to Github Pages
140-
if: steps.docs.outcome == 'success'
141-
uses: grails/github-pages-deploy-action@v2
113+
run: ./gradlew docs:docs
114+
- name: "📤 Publish documentation to Github Pages"
115+
if: success()
116+
uses: grails/github-pages-deploy-action@grails
142117
env:
143-
SKIP_LATEST: ${{ contains(steps.release_version.outputs.release_version, 'M') }}
144-
TARGET_REPOSITORY: ${{ github.repository }}
118+
BETA: ${{ contains(needs.publish.outputs.release_version, 'M') || contains(needs.publish.outputs.release_version, 'RC') }}
145119
GH_TOKEN: ${{ secrets.GH_TOKEN }}
146120
BRANCH: gh-pages
147-
FOLDER: build/docs
148-
DOC_FOLDER: gh-pages
121+
FOLDER: docs/build/docs
122+
VERSION: ${{ needs.publish.outputs.release_version }}
149123
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
150-
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
151-
VERSION: ${{ steps.release_version.outputs.release_version }}
124+
COMMIT_NAME: ${{ env.GIT_USER_NAME }}

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ target-eclipse/
1313
*.zip
1414
*.sha1
1515
.DS_Store
16-
/docs
1716
plugin.xml
1817
target
1918
build

.sdkmanrc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
java=17.0.13-librca
2+
gradle=8.10.2

0 commit comments

Comments
 (0)