Skip to content

Commit 875b187

Browse files
authored
Merge pull request #1158 from jdaugherty/7.0.x
Update to Grails 7.0.0-RC2
2 parents 4011ce6 + 75625be commit 875b187

File tree

24 files changed

+262
-89
lines changed

24 files changed

+262
-89
lines changed

.asf.yaml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,5 @@
11
github:
22
environments:
3-
source:
4-
required_reviewers:
5-
- id: grails-committers
6-
type: Team
7-
- id: jdaugherty
8-
type: User
9-
wait_timer: 0
103
release:
114
required_reviewers:
125
- id: grails-committers

.github/renovate.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
"org.grails:grails-plugin-databinding",
4545
"org.grails:grails-plugin-datasource",
4646
"org.grails:grails-plugin-domain-class",
47-
"org.grails:grails-plugin-i18n",
4847
"org.grails:grails-plugin-interceptors",
4948
"org.grails:grails-plugin-mimetypes",
5049
"org.grails:grails-plugin-rest",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
The Apache Grails (incubating) community is pleased to announce the release of Apache Grails (incubating) Spring Security Plugin ${VERSION}.
2+
3+
Grails is a powerful Groovy-based web application framework for the JVM built on top of Spring Boot that has many plugins to further extend its functionality.
4+
5+
This Spring Security Plugin release another milestone on our journey to a final 7.0 release. Users are encouraged to try the milestone to provide early feedback. Detailed upgrade instructions are available here: https://docs.grails.org/${VERSION}/guide/upgrading.html.
6+
7+
The release notes are available here:
8+
https://github.com/apache/grails-spring-security/compare/v${VERSION}
9+
10+
For the complete list of changes:
11+
https://github.com/apache/grails-spring-security/compare/v${PREVIOUS_VERSION}...v${VERSION}
12+
13+
Apache Grails website: https://grails.apache.org/
14+
15+
Download Links: https://grails.apache.org/download.html
16+
17+
Grails Resources:
18+
- Grails Spring Security GitHub repo: https://github.com/apache/grails-spring-security
19+
- Issues: https://github.com/apache/grails-spring-security/issues
20+
- Mailing lists: https://grails.apache.org/community.html
21+
22+
Happy Coding,
23+
The Apache Grails (incubating) Team
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Hi Everyone,
2+
3+
The Apache Grails community has voted to approve the release of Apache Grails Spring Security Plugin ${VERSION}.
4+
5+
As the incubation host, we now kindly request the Groovy PMC to review & approve our ASF release.
6+
7+
Grails vote thread:
8+
* <VOTE THREAD LINK>
9+
10+
Vote result thread:
11+
* https://<TODO>
12+
13+
The tag for this release is:
14+
* (grails-spring-security) https://github.com/apache/grails-spring-security/releases/tag/v${VERSION}
15+
16+
The artifacts to be voted on are located as follows (r${DIST_SVN_REVISION}):
17+
Source release: https://dist.apache.org/repos/dist/dev/incubator/grails/spring-security/${VERSION}/sources
18+
19+
Release artifacts are signed with a key from the following file:
20+
https://dist.apache.org/repos/dist/release/incubator/grails/KEYS
21+
22+
Please vote on releasing this package as Apache Grails (incubating) Spring Security Plugin ${VERSION}.
23+
24+
Hints on validating checksums/signatures (but replace md5sum with sha512sum):
25+
https://www.apache.org/info/verification.html
26+
27+
The vote for this release is open for a minimum of 72 hours.
28+
[ ] +1 Release Apache Grails (incubating) Spring Security Plugin ${VERSION}
29+
[ ] 0 I don't have a strong opinion about this, but I assume it's ok
30+
[ ] -1 Do not release Apache Grails (incubating) Spring Security Plugin ${VERSION} because...

.github/vote_templates/staged.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
Hi Everyone,
2+
3+
I am happy to start the VOTE thread for an Apache Grails (incubating) Spring Security Plugin release of version ${VERSION}!
4+
5+
Release notes for the release are here:
6+
https://github.com/apache/grails-spring-security/releases/tag/v${VERSION}
7+
8+
The tag for this release is:
9+
https://github.com/apache/grails-spring-security/releases/tag/v${VERSION}
10+
Tag commit id: ${VERSION_COMMIT_ID}
11+
12+
The artifacts to be voted on are located as follows (r${DIST_SVN_REVISION}):
13+
Source release: https://dist.apache.org/repos/dist/dev/incubator/grails/spring-security/${VERSION}/sources
14+
15+
Release artifacts are signed with a key from the following file:
16+
https://dist.apache.org/repos/dist/release/incubator/grails/KEYS
17+
18+
Please vote on releasing this package as: Apache Grails (incubating) Spring Security Plugin ${VERSION}.
19+
20+
Reminder on ASF release approval requirements for PPMC members:
21+
https://www.apache.org/legal/release-policy.html#release-approval
22+
23+
Hints on validating checksums/signatures (but replace md5sum with sha512sum):
24+
https://www.apache.org/info/verification.html
25+
26+
The vote is open for a minimum of 72 hours and passes if a majority of at least
27+
three +1 PPMC votes are cast.
28+
29+
[ ] +1 Release Apache Grails (incubating) Spring Security Plugin ${VERSION}
30+
[ ] 0 I don't have a strong opinion about this, but I assume it's ok
31+
[ ] -1 Do not release Apache Grails (incubating) Spring Security Plugin ${VERSION} because...
32+
33+
Here is my vote:
34+
35+
+1 (binding)

.github/workflows/release-notes.yml

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,46 +21,24 @@ on:
2121
branches:
2222
- '[4-9]+.[0-9]+.x'
2323
pull_request:
24-
types: [opened, reopened, synchronize]
25-
pull_request_target:
26-
types: [opened, reopened, synchronize]
27-
workflow_dispatch:
24+
types: [ opened, reopened, synchronize, labeled ]
25+
pull_request_target:
26+
types: [ opened, reopened, synchronize, labeled ]
27+
workflow_dispatch:
28+
# queue jobs and only allow 1 run per branch due to the likelihood of hitting GitHub resource limits
29+
concurrency:
30+
group: ${{ github.workflow }}-${{ github.ref }}
31+
cancel-in-progress: false
2832
jobs:
29-
release_notes:
33+
update_release_draft:
34+
permissions:
35+
# write permission is required to create a github release
36+
contents: write
37+
# write permission is required for autolabeler
38+
pull-requests: write
3039
runs-on: ubuntu-latest
3140
steps:
32-
- uses: actions/checkout@v4
33-
- name: Check if it has release drafter config file
34-
id: check_release_drafter
35-
run: |
36-
has_release_drafter=$([ -f .github/release-drafter.yml ] && echo "true" || echo "false")
37-
echo "has_release_drafter=${has_release_drafter}" >> $GITHUB_OUTPUT
38-
- name: Extract branch name
39-
id: extract_branch
40-
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
41-
# If it has release drafter:
42-
- uses: release-drafter/release-drafter@v6
43-
if: steps.check_release_drafter.outputs.has_release_drafter == 'true'
41+
- name: "📝 Update Release Draft"
42+
uses: release-drafter/release-drafter@v6
4443
env:
45-
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
46-
with:
47-
commitish: ${{ steps.extract_branch.outputs.value }}
48-
# Otherwise:
49-
- name: Export Gradle Properties
50-
if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
51-
uses: apache/grails-github-actions/export-gradle-properties@asf
52-
- uses: apache/grails-github-actions/release-notes@asf
53-
if: steps.check_release_drafter.outputs.has_release_drafter == 'false'
54-
id: release_notes
55-
with:
56-
token: ${{ secrets.GH_TOKEN }}
57-
- uses: ncipollo/release-action@1e3e9c6637e5566e185b7ab66f187539c5a76da7
58-
if: steps.check_release_drafter.outputs.has_release_drafter == 'false' && steps.release_notes.outputs.generated_changelog == 'true'
59-
with:
60-
allowUpdates: true
61-
commit: ${{ steps.release_notes.outputs.current_branch }}
62-
draft: true
63-
name: ${{ env.title }} ${{ steps.release_notes.outputs.next_version }}
64-
tag: v${{ steps.release_notes.outputs.next_version }}
65-
bodyFile: CHANGELOG.md
66-
token: ${{ secrets.GH_TOKEN }}
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yml

Lines changed: 134 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ jobs:
112112
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
113113
source:
114114
# to ensure we never publish any build artifacts, run the source distribution as a separate build workflow
115-
environment: source
116115
name: "Source Distribution"
117116
needs: publish
118117
permissions:
@@ -204,10 +203,142 @@ jobs:
204203
set -e
205204
cd ${{ needs.publish.outputs.extract_repository_name }}
206205
gh release --repo ${{ github.repository }} delete-asset v${{ needs.publish.outputs.release_version }} PUBLISHED_ARTIFACTS.txt --yes
206+
upload:
207+
needs: [ publish, source ]
208+
runs-on: ubuntu-24.04
209+
permissions:
210+
contents: write
211+
env:
212+
SVN_USERNAME: ${{ secrets.SVC_DIST_GRAILS_USERNAME }}
213+
SVN_PASSWORD: ${{ secrets.SVC_DIST_GRAILS_PASSWORD }}
214+
steps:
215+
- name: "Output Agent IP" # in the event RAO blocks this agent, this can be used to debug it
216+
run: curl -s https://api.ipify.org
217+
- name: "Setup SVN and Tools"
218+
run: sudo apt-get install -y subversion subversion-tools tree gettext-base
219+
- name: "Ensure grails dev folder exists"
220+
run: |
221+
set -e
222+
223+
if svn ls https://dist.apache.org/repos/dist/dev/incubator/grails --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive; then
224+
echo "Dev Folder 'grails' already exists — skipping creation"
225+
else
226+
echo "Dev Folder 'grails' does not exist, creating"
227+
svnmucc --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive \
228+
mkdir https://dist.apache.org/repos/dist/dev/incubator/grails \
229+
-m "Create 'grails' dev folder"
230+
fi
231+
- name: "Ensure grails spring-security folder exists"
232+
run: |
233+
set -e
234+
235+
if svn ls https://dist.apache.org/repos/dist/dev/incubator/grails/spring-security --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive; then
236+
echo "Dev Folder 'grails/spring-security' already exists — skipping creation"
237+
else
238+
echo "Dev Folder 'grails/spring-security' does not exist, creating"
239+
svnmucc --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive \
240+
mkdir https://dist.apache.org/repos/dist/dev/incubator/grails/spring-security \
241+
-m "Create 'grails spring-security' dev folder"
242+
fi
243+
- name: "Checkout dev repo"
244+
run: |
245+
svn checkout --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive https://dist.apache.org/repos/dist/dev/incubator/grails/spring-security dev-repo
246+
- name: "Remove existing dev version"
247+
run: |
248+
export VERSION="${{ needs.publish.outputs.release_version }}"
249+
cd dev-repo
250+
if [ -d "$VERSION" ]; then
251+
svn delete "$VERSION"
252+
svn commit -m "Remove grails spring-security dev version $VERSION" --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive
253+
else
254+
echo "No existing dev version $VERSION to remove"
255+
fi
256+
- name: "Fetch source distributions"
257+
run: |
258+
export TAG="v${{ needs.publish.outputs.release_version }}"
259+
export VERSION="${{ needs.publish.outputs.release_version }}"
260+
cd dev-repo
261+
mkdir -p $VERSION/sources
262+
cd $VERSION/sources
263+
curl -LO https://github.com/apache/grails-core/releases/download/$TAG/apache-${{ needs.publish.outputs.extract_repository_name }}-$VERSION-incubating-src.zip
264+
curl -LO https://github.com/apache/grails-core/releases/download/$TAG/apache-${{ needs.publish.outputs.extract_repository_name }}-$VERSION-incubating-src.zip.sha512
265+
curl -LO https://github.com/apache/grails-core/releases/download/$TAG/apache-${{ needs.publish.outputs.extract_repository_name }}-$VERSION-incubating-src.zip.asc
266+
echo "Downloaded the following files:"
267+
ls -l
268+
- name: "Upload distributions"
269+
run: |
270+
export TAG="v${{ needs.publish.outputs.release_version }}"
271+
export VERSION="${{ needs.publish.outputs.release_version }}"
272+
cd dev-repo
273+
echo "Adding the following files to SVN:"
274+
tree
275+
svn add $VERSION --force
276+
svn commit -m "Upload grails distribution files for $VERSION" --username "$SVN_USERNAME" --password "$SVN_PASSWORD" --non-interactive
277+
pwd
278+
- name: "Store Distribution SVN revision"
279+
run: |
280+
export VERSION="${{ needs.publish.outputs.release_version }}"
281+
cd dev-repo
282+
svn info $VERSION > "DIST_SVN_REVISION.txt"
283+
- name: "Upload Distribution SVN revision"
284+
uses: softprops/action-gh-release@v2
285+
with:
286+
files: dev-repo/DIST_SVN_REVISION.txt
287+
env:
288+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
289+
- name: "📥 Checkout repository"
290+
uses: actions/checkout@v4
291+
with:
292+
token: ${{ secrets.GITHUB_TOKEN }}
293+
ref: v${{ needs.publish.outputs.release_version }}
294+
path: "${{ needs.publish.outputs.extract_repository_name }}"
295+
- name: 'Initial Vote Email'
296+
env:
297+
VERSION: ${{ needs.publish.outputs.release_version }}
298+
VERSION_COMMIT_ID: ${{ needs.publish.outputs.commit_hash }}
299+
run: |
300+
export DIST_SVN_REVISION=$(awk '/Last Changed Rev:/ {print $4}' dev-repo/DIST_SVN_REVISION.txt)
301+
302+
echo "*************************************************"
303+
echo "Subject: [VOTE] Release Apache Grails (incubating) Spring Security Plugin ${VERSION}"
304+
echo "*************************************************"
305+
echo "Body:"
306+
echo "*************************************************"
307+
cat ${{ needs.publish.outputs.extract_repository_name }}/.github/vote_templates/staged.txt | envsubst
308+
echo "*************************************************"
309+
- name: 'Groovy Vote Email'
310+
env:
311+
VERSION: ${{ needs.publish.outputs.release_version }}
312+
VERSION_COMMIT_ID: ${{ needs.publish.outputs.commit_hash }}
313+
run: |
314+
export DIST_SVN_REVISION=$(awk '/Last Changed Rev:/ {print $4}' dev-repo/DIST_SVN_REVISION.txt)
315+
316+
echo "*************************************************"
317+
echo "Subject: [VOTE] Approval of Apache Grails (incubating) Spring Security Plugin ${VERSION} release by Groovy PMC"
318+
echo "*************************************************"
319+
echo "Body:"
320+
echo "*************************************************"
321+
cat ${{ needs.publish.outputs.extract_repository_name }}/.github/vote_templates/groovy_pmc.txt | envsubst
322+
echo "*************************************************"
323+
- name: 'Announcement Email'
324+
env:
325+
VERSION: ${{ needs.publish.outputs.release_version }}
326+
VERSION_COMMIT_ID: ${{ needs.publish.outputs.commit_hash }}
327+
PREVIOUS_VERSION: 'TODO_PREVIOUS_VERSION'
328+
run: |
329+
export DIST_SVN_REVISION=$(awk '/Last Changed Rev:/ {print $4}' dev-repo/DIST_SVN_REVISION.txt)
330+
331+
echo "*************************************************"
332+
echo "Subject: [ANNOUNCE] Apache Grails (incubating) Spring Security Plugin ${VERSION}"
333+
echo "*************************************************"
334+
echo "Body:"
335+
echo "*************************************************"
336+
cat ${{ needs.publish.outputs.extract_repository_name }}/.github/vote_templates/announce.txt | envsubst
337+
echo "*************************************************"
207338
docs:
208339
environment: docs
209340
name: "Publish Documentation"
210-
needs: [publish, source]
341+
needs: [publish, source, upload]
211342
runs-on: ubuntu-latest
212343
permissions:
213344
contents: write # required for gradle.properties revert
@@ -243,7 +374,7 @@ jobs:
243374
release:
244375
name: "Close Release"
245376
environment: release
246-
needs: [ publish, source, docs ]
377+
needs: [ publish, source, upload, docs ]
247378
runs-on: ubuntu-latest
248379
permissions:
249380
contents: write # required for gradle.properties revert

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# under the License.
1818
#
1919
projectVersion=7.0.0-SNAPSHOT
20-
grailsVersion=7.0.0-SNAPSHOT
20+
grailsVersion=7.0.0-RC2
2121
javaVersion=17
2222

2323
unboundidLdapSdk=7.0.2
@@ -27,7 +27,7 @@ casClientCoreVersion=4.0.4
2727
commonsLangVersion=2.6
2828
dumbsterVersion=1.6
2929
gradleCryptoChecksumVersion=1.4.0
30-
grailsRedisVersion=5.0.0-M5
30+
grailsRedisVersion=5.0.0-RC2
3131
mailVersion=5.0.0
3232
micronautVersion=4.5.3
3333
pac4jVersion=6.0.6

0 commit comments

Comments
 (0)