Skip to content

Commit 417a1ef

Browse files
authored
feat!: Upgrade to Grails 6 (#57)
* feat!: Upgrade to Grails 6 - Update project to Grails 6 - Update Gradle to 7.6.4 - Switch from Travis to Github workflows - Code cleanup - Switch from Gradle Enterprise to Develocity BREAKING CHANGE: new java 11 baseline * chore(readme): Update readme * chore: Update Sørens email
1 parent 0b4b1a5 commit 417a1ef

Some content is hidden

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

46 files changed

+1043
-800
lines changed

.github/release-drafter.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name-template: $RESOLVED_VERSION
2+
tag-template: v$RESOLVED_VERSION
3+
pull-request:
4+
title-templates:
5+
fix: '🐛 $TITLE (#$NUMBER)'
6+
feat: '🚀 $TITLE (#$NUMBER)'
7+
default: '$TITLE (#$NUMBER)'
8+
autolabeler:
9+
- label: 'bug'
10+
branch:
11+
- '/fix\/.+/'
12+
title:
13+
- '/fix/i'
14+
- label: 'improvement'
15+
branch:
16+
- '/improv\/.+/'
17+
title:
18+
- '/improv/i'
19+
- label: 'feature'
20+
branch:
21+
- '/feature\/.+/'
22+
title:
23+
- '/feat/i'
24+
- label: 'documentation'
25+
branch:
26+
- '/docs\/.+/'
27+
title:
28+
- '/docs/i'
29+
- label: 'maintenance'
30+
branch:
31+
- '/(chore|refactor|style|test|ci|perf|build)\/.+/'
32+
title:
33+
- '/(chore|refactor|style|test|ci|perf|build)/i'
34+
- label: 'chore'
35+
branch:
36+
- '/chore\/.+/'
37+
title:
38+
- '/chore/i'
39+
- label: 'refactor'
40+
branch:
41+
- '/refactor\/.+/'
42+
title:
43+
- '/refactor/i'
44+
- label: 'style'
45+
branch:
46+
- '/style\/.+/'
47+
title:
48+
- '/style/i'
49+
- label: 'test'
50+
branch:
51+
- '/test\/.+/'
52+
title:
53+
- '/test/i'
54+
- label: 'ci'
55+
branch:
56+
- '/ci\/.+/'
57+
title:
58+
- '/ci/i'
59+
- label: 'perf'
60+
branch:
61+
- '/perf\/.+/'
62+
title:
63+
- '/perf/i'
64+
- label: 'build'
65+
branch:
66+
- '/build\/.+/'
67+
title:
68+
- '/build/i'
69+
- label: 'deps'
70+
branch:
71+
- '/deps\/.+/'
72+
title:
73+
- '/deps/i'
74+
- label: 'revert'
75+
branch:
76+
- '/revert\/.+/'
77+
title:
78+
- '/revert/i'
79+
categories:
80+
- title: '🚀 Features'
81+
labels:
82+
- 'feature'
83+
- "type: enhancement"
84+
- "type: new feature"
85+
- "type: major"
86+
- "type: minor"
87+
- title: '💡 Improvements'
88+
labels:
89+
- 'improvement'
90+
- "type: improvement"
91+
92+
- title: '🐛 Bug Fixes'
93+
labels:
94+
- 'fix'
95+
- 'bug'
96+
- "type: bug"
97+
- title: '📚 Documentation'
98+
labels:
99+
- 'docs'
100+
- title: '🔧 Maintenance'
101+
labels:
102+
- 'maintenance'
103+
- 'chore'
104+
- 'refactor'
105+
- 'style'
106+
- 'test'
107+
- 'ci'
108+
- 'perf'
109+
- 'build'
110+
- "type: ci"
111+
- "type: build"
112+
- title: '⏪ Reverts'
113+
labels:
114+
- 'revert'
115+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
116+
version-resolver:
117+
major:
118+
labels:
119+
- 'type: major'
120+
minor:
121+
labels:
122+
- 'type: minor'
123+
patch:
124+
labels:
125+
- 'type: patch'
126+
default: patch
127+
template: |
128+
## What's Changed
129+
130+
$CHANGES
131+
132+
## Contributors
133+
134+
$CONTRIBUTORS

.github/renovate.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"extends": [
3+
"config:base"
4+
],
5+
"labels": ["type: dependency upgrade"],
6+
"packageRules": [
7+
{
8+
"matchUpdateTypes": ["major"],
9+
"enabled": false
10+
},
11+
{
12+
"matchPackagePatterns": ["*"],
13+
"allowedVersions": "!/SNAPSHOT$/"
14+
},
15+
{
16+
"matchPackagePatterns": [
17+
"^org\\.codehaus\\.groovy"
18+
],
19+
"groupName": "groovy monorepo"
20+
},
21+
{
22+
"matchPackageNames": [
23+
"org.grails:grails-bom",
24+
"org.grails:grails-bootstrap",
25+
"org.grails:grails-codecs",
26+
"org.grails:grails-console",
27+
"org.grails:grails-core",
28+
"org.grails:grails-databinding",
29+
"org.grails:grails-dependencies",
30+
"org.grails:grails-docs",
31+
"org.grails:grails-encoder",
32+
"org.grails:grails-gradle-model",
33+
"org.grails:grails-logging",
34+
"org.grails:grails-plugin-codecs",
35+
"org.grails:grails-plugin-controllers",
36+
"org.grails:grails-plugin-databinding",
37+
"org.grails:grails-plugin-datasource",
38+
"org.grails:grails-plugin-domain-class",
39+
"org.grails:grails-plugin-i18n",
40+
"org.grails:grails-plugin-interceptors",
41+
"org.grails:grails-plugin-mimetypes",
42+
"org.grails:grails-plugin-rest",
43+
"org.grails:grails-plugin-services",
44+
"org.grails:grails-plugin-url-mappings",
45+
"org.grails:grails-plugin-url-validation",
46+
"org.grails:grails-shell",
47+
"org.grails:grails-spring",
48+
"org.grails:grails-test",
49+
"org.grails:grails-validation",
50+
"org.grails:grails-web",
51+
"org.grails:grails-web-boot",
52+
"org.grails:grails-web-common",
53+
"org.grails:grails-web-databinding",
54+
"org.grails:grails-web-fileupload",
55+
"org.grails:grails-web-mvc",
56+
"org.grails:grails-web-url-mappings"
57+
],
58+
"groupName": "grails monorepo"
59+
}
60+
]
61+
}

.github/workflows/gradle.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Java CI
2+
on:
3+
push:
4+
branches:
5+
- '[4-9]+.[0-9]+.x'
6+
pull_request:
7+
branches:
8+
- '[4-9]+.[0-9]+.x'
9+
env:
10+
GIT_USER_NAME: puneetbehl
11+
GIT_USER_EMAIL: [email protected]
12+
13+
jobs:
14+
15+
test_project:
16+
name: Test Project
17+
if: github.event_name == 'pull_request'
18+
runs-on: ubuntu-latest
19+
strategy:
20+
fail-fast: true
21+
matrix:
22+
java: [11, 17]
23+
24+
steps:
25+
- uses: actions/checkout@v4
26+
- uses: gradle/wrapper-validation-action@v2
27+
- uses: actions/setup-java@v4
28+
with:
29+
distribution: temurin
30+
java-version: ${{ matrix.java }}
31+
- uses: gradle/actions/setup-gradle@v3
32+
env:
33+
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
34+
with:
35+
arguments: check
36+
37+
publish_snapshot:
38+
name: Build Project and Publish Snapshot release
39+
runs-on: ubuntu-latest
40+
if: github.event_name == 'push'
41+
42+
steps:
43+
- uses: actions/checkout@v4
44+
- uses: gradle/wrapper-validation-action@v2
45+
- uses: actions/setup-java@v4
46+
with: { java-version: 11, distribution: temurin }
47+
48+
- name: Build Project
49+
uses: gradle/actions/setup-gradle@v3
50+
env:
51+
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
52+
with:
53+
arguments: build
54+
55+
- name: Publish Snapshot version to Artifactory (repo.grails.org)
56+
if: success()
57+
uses: gradle/actions/setup-gradle@v3
58+
env:
59+
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
60+
ORG_GRADLE_PROJECT_artifactoryPublishUsername: ${{ secrets.ARTIFACTORY_USERNAME }}
61+
ORG_GRADLE_PROJECT_artifactoryPublishPassword: ${{ secrets.ARTIFACTORY_PASSWORD }}
62+
with:
63+
arguments: |
64+
-Dorg.gradle.internal.publish.checksums.insecure=true
65+
publish
66+
67+
- name: Generate Snapshot Documentation
68+
if: success()
69+
uses: gradle/actions/setup-gradle@v3
70+
env:
71+
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
72+
with:
73+
arguments: docs
74+
75+
- name: Publish Snapshot Documentation to Github Pages
76+
if: success()
77+
uses: micronaut-projects/github-pages-deploy-action@grails
78+
env:
79+
BRANCH: gh-pages
80+
COMMIT_EMAIL: ${{ env.GIT_USER_EMAIL }}
81+
COMMIT_NAME: ${{ env.GIT_USER_NAME }}
82+
FOLDER: build/docs/manual
83+
GH_TOKEN: ${{ secrets.GH_TOKEN }}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Changelog
2+
on:
3+
issues:
4+
types: [closed,reopened]
5+
push:
6+
branches:
7+
- '[4-9]+.[0-9]+.x'
8+
pull_request:
9+
types: [opened, reopened, synchronize, labeled]
10+
pull_request_target:
11+
types: [opened, reopened, synchronize, labeled]
12+
workflow_dispatch:
13+
jobs:
14+
release_notes:
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@v3
18+
- name: Check if it has release drafter config file
19+
id: check_release_drafter
20+
run: |
21+
has_release_drafter=$([ -f .github/release-drafter.yml ] && echo "true" || echo "false")
22+
echo "has_release_drafter=${has_release_drafter}" >> $GITHUB_OUTPUT
23+
- name: Extract branch name
24+
id: extract_branch
25+
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
26+
# If it has release drafter:
27+
- uses: release-drafter/release-drafter@v5
28+
if: steps.check_release_drafter.outputs.has_release_drafter == 'true'
29+
env:
30+
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
31+
with:
32+
commitish: ${{ steps.extract_branch.outputs.value }}
33+
# Otherwise:
34+
- name: Export Gradle Properties
35+
if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
36+
uses: micronaut-projects/github-actions/export-gradle-properties@master
37+
- uses: micronaut-projects/github-actions/release-notes@master
38+
if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
39+
id: release_notes
40+
with:
41+
token: ${{ secrets.GH_TOKEN }}
42+
- uses: ncipollo/release-action@v1
43+
if: steps.check_release_drafter.outputs.has_release_drafter == 'false' && steps.release_notes.outputs.generated_changelog == 'true'
44+
with:
45+
allowUpdates: true
46+
commit: ${{ steps.release_notes.outputs.current_branch }}
47+
draft: true
48+
name: "${{ env.title }} ${{ steps.release_notes.outputs.next_version }}"
49+
tag: v${{ steps.release_notes.outputs.next_version }}
50+
bodyFile: CHANGELOG.md
51+
token: ${{ secrets.GH_TOKEN }}

0 commit comments

Comments
 (0)