Skip to content

Commit 4c067c5

Browse files
authored
Merge branch '7.0.x' into renovate/micronautversion
2 parents 7463d61 + 48501e8 commit 4c067c5

File tree

1,194 files changed

+65536
-11321
lines changed

Some content is hidden

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

1,194 files changed

+65536
-11321
lines changed

β€Ž.asf.yaml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#
2+
# Licensed to the Apache Software Foundation (ASF) under one or more
3+
# contributor license agreements. See the NOTICE file distributed with
4+
# this work for additional information regarding copyright ownership.
5+
# The ASF licenses this file to You under the Apache License, Version 2.0
6+
# (the "License"); you may not use this file except in compliance with
7+
# the License. You may obtain a copy of the License at
8+
#
9+
# https://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
# see https://s.apache.org/asfyaml
18+
github:
19+
# deployment environments to delay releasing until the necessary steps have completed
20+
environments:
21+
docs:
22+
required_reviewers:
23+
- id: grails-committers
24+
type: Team
25+
- id: jdaugherty
26+
type: User
27+
wait_timer: 0
28+
sdkman:
29+
required_reviewers:
30+
- id: grails-committers
31+
type: Team
32+
- id: jdaugherty
33+
type: User
34+
wait_timer: 0
35+
release:
36+
required_reviewers:
37+
- id: grails-committers
38+
type: Team
39+
- id: jdaugherty
40+
type: User
41+
wait_timer: 0
42+
notifications:
43+
# GitHub related
44+
45+
46+
pullrequests_status: [email protected]
47+
pullrequests_comment: [email protected]
48+
pullrequests_bot_dependabot: [email protected]
49+
50+
issues_status: [email protected]
51+
issues_comment: [email protected]
52+
discussions: [email protected]

β€Ž.github/scripts/setReleasedGrailsVersion.sh

100644100755
File mode changed.

β€Ž.github/scripts/setSnapshotGrailsVersion.sh

100644100755
File mode changed.
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) ${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 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+
<blog post link>
9+
10+
For the complete list of changes:
11+
https://github.com/apache/grails-core/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 GitHub repo: https://github.com/apache/grails-core
19+
- Issues: https://github.com/apache/grails-core/issues
20+
- Mailing lists: https://grails.apache.org/community.html
21+
22+
Happy Coding,
23+
The Apache Grails (incubating) Team
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
Hi Everyone,
2+
The Apache Grails community has voted to approve the release of Apache Grails ${VERSION}.
3+
4+
As the incubation host, we now kindly request the Groovy PMC to review & approve our initial ASF release.
5+
6+
Grails vote thread:
7+
* <VOTE THREAD LINK>
8+
9+
Vote result thread:
10+
* https://<TODO>
11+
12+
The tag for this release is:
13+
* (grails-core) https://github.com/apache/grails-core/releases/tag/v${VERSION}
14+
15+
The artifacts to be voted on are located as follows (r${DIST_SVN_REVISION}):
16+
Source release: https://dist.apache.org/repos/dist/dev/incubator/grails/core/${VERSION}/sources
17+
Binary distributions: https://dist.apache.org/repos/dist/dev/incubator/grails/core/${VERSION}/distribution
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) ${VERSION}.
23+
24+
Hints on validating checksums/signatures (but replace md5sum with sha512sum):
25+
https://www.apache.org/info/verification.html
26+
27+
Our release process, including verification steps, are documented here: https://github.com/apache/grails-core/blob/HEAD/RELEASE.md The last section of this document `Appendix: Verification from a Container` is likely relevant. For the differing artifacts, we have compared the decompiled classes to ensure they are as we expect to meet the ASF security team's requirements.
28+
29+
The vote for this release is open for the next 72 hours.
30+
[ ] +1 Release Apache Grails (incubating) ${VERSION}
31+
[ ] 0 I don't have a strong opinion about this, but I assume it's ok
32+
[ ] -1 Do not release Apache Grails (incubating) ${VERSION} because...

β€Ž.github/vote_templates/staged.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
Hi Everyone,
2+
3+
I am happy to start the VOTE thread for an Apache Grails (incubating) release of version ${VERSION}!
4+
5+
Pre-release discussion thread is here:
6+
<Thread Link>
7+
8+
Release notes for the release are here:
9+
https://github.com/apache/grails-core/releases/tag/v${VERSION}
10+
11+
The tag for this release is:
12+
https://github.com/apache/grails-core/releases/tag/v${VERSION}
13+
Tag commit id: ${VERSION_COMMIT_ID}
14+
15+
The artifacts to be voted on are located as follows (r${DIST_SVN_REVISION}):
16+
Source release: https://dist.apache.org/repos/dist/dev/incubator/grails/core/${VERSION}/sources
17+
Binary distributions: https://dist.apache.org/repos/dist/dev/incubator/grails/core/${VERSION}/distribution
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) ${VERSION}.
23+
24+
Reminder on ASF release approval requirements for PPMC members:
25+
https://www.apache.org/legal/release-policy.html#release-approval
26+
27+
Hints on validating checksums/signatures (but replace md5sum with sha512sum):
28+
https://www.apache.org/info/verification.html
29+
30+
Details of our release process is documented at: https://github.com/apache/grails-core/blob/HEAD/RELEASE.md
31+
32+
As a reminder, most of our tools support an env `GRAILS_REPO_URL` so that the tools can be used from the staging location. Set it to the staging repo like this: `export GRAILS_REPO_URL=https://repository.apache.org/content/groups/staging`
33+
34+
The vote is open for the next 72 hours and passes if a majority of at least
35+
three +1 PPMC votes are cast.
36+
37+
[ ] +1 Release Apache Grails (incubating) ${VERSION}
38+
[ ] 0 I don't have a strong opinion about this, but I assume it's ok
39+
[ ] -1 Do not release Apache Grails (incubating) ${VERSION} because...
40+
41+
Here is my vote:
42+
43+
+1 (binding)

β€Ž.github/workflows/codeql.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ on:
3434
# The branches below must be a subset of the branches above
3535
branches:
3636
- '[4-9]+.[0-9]+.x'
37-
37+
# queue jobs and only allow 1 run per branch due to the likelihood of hitting GitHub resource limits
38+
concurrency:
39+
group: ${{ github.workflow }}-${{ github.ref }}
40+
cancel-in-progress: false
3841
jobs:
3942
analyze:
4043
name: Analyze
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one or more
2+
# contributor license agreements. See the NOTICE file distributed with
3+
# this work for additional information regarding copyright ownership.
4+
# The ASF licenses this file to You under the Apache License, Version 2.0
5+
# (the "License"); you may not use this file except in compliance with
6+
# the License. You may obtain a copy of the License at
7+
#
8+
# https://www.apache.org/licenses/LICENSE-2.0
9+
#
10+
# Unless required by applicable law or agreed to in writing, software
11+
# distributed under the License is distributed on an "AS IS" BASIS,
12+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
# See the License for the specific language governing permissions and
14+
# limitations under the License.
15+
16+
name: "Forge - Next GCP Deploy"
17+
on:
18+
workflow_dispatch:
19+
jobs:
20+
build:
21+
name: "Build project"
22+
runs-on: ubuntu-24.04
23+
steps:
24+
- name: "πŸ“₯ Checkout repository"
25+
uses: actions/checkout@v4
26+
- name: "β˜•οΈ Setup JDK"
27+
uses: actions/setup-java@v4
28+
with:
29+
distribution: 'liberica'
30+
java-version: '17'
31+
- name: "🐘 Setup Gradle"
32+
uses: gradle/actions/setup-gradle@v4
33+
with:
34+
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
35+
- name: "πŸ”¨ Build"
36+
working-directory: grails-forge
37+
run: ./gradlew build
38+
deploy:
39+
name: "Deploy to Google Cloud Run"
40+
runs-on: ubuntu-24.04
41+
needs: build
42+
env:
43+
IMAGE_NAME: us-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}/${{ secrets.GCP_APP_NAME }}:next
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.GRAILS_DEVELOCITY_ACCESS_KEY }}
56+
- name: "πŸ”‘ Login to Google Cloud"
57+
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193
58+
with:
59+
credentials_json: ${{ secrets.GCP_CREDENTIALS }}
60+
create_credentials_file: 'true'
61+
- name: Set up Cloud SDK
62+
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a
63+
with:
64+
project_id: ${{ secrets.GCP_PROJECT_ID }}
65+
- name: "πŸ‹ Configure Docker for Artifact Registry"
66+
run: gcloud auth configure-docker us-docker.pkg.dev --quiet
67+
- name: "πŸƒ Run tests"
68+
working-directory: grails-forge
69+
run: >
70+
./gradlew
71+
grails-forge-api:test
72+
grails-forge-web-netty:test
73+
- name: "πŸ”¨ Build Docker image"
74+
working-directory: grails-forge
75+
# To deploy native executables built with GraalVM, replace dockerBuild with dockerBuildNative and dockerPush
76+
# with dockerPushNative. First, try that it works locally.
77+
run: >
78+
./gradlew
79+
grails-forge-web-netty:dockerBuildNative
80+
-PdockerImageName=${{ env.IMAGE_NAME }}
81+
- name: "πŸ“€ Push Container to Google Cloud Artifact Registry"
82+
run: |
83+
docker push ${{ env.IMAGE_NAME }}
84+
- name: "πŸš€ Deploy Docker image"
85+
run: >
86+
gcloud run deploy ${{ secrets.GCP_PROJECT_ID }}-next
87+
--image $IMAGE_NAME
88+
--region us-central1
89+
--update-env-vars=HOSTNAME="next.grails.org",CORS_ALLOWED_ORIGIN="https://start.grails.org",GITHUB_OAUTH_APP_CLIENT_ID=${{ secrets.GH_OAUTH_SNAPSHOT_CLIENT_ID }},GITHUB_OAUTH_APP_CLIENT_SECRET=${{ secrets.GH_OAUTH_SNAPSHOT_CLIENT_SECRET }},GITHUB_USER_AGENT=${{ secrets.GH_USER_AGENT }},GITHUB_REDIRECT_URL=${{ secrets.GH_REDIRECT_URL }}
90+
--platform managed
91+
--allow-unauthenticated
92+
--service-account=${{ secrets.GCLOUD_EMAIL }}
93+
deployAnalytics:
94+
name: "Deploy analytics to Google Cloud Run"
95+
runs-on: ubuntu-24.04
96+
needs: build
97+
env:
98+
IMAGE_NAME: us-docker.pkg.dev/${{ secrets.GCP_PROJECT_ID }}/${{ secrets.GCP_APP_NAME }}/${{ secrets.GCP_APP_NAME }}-analytics:next
99+
steps:
100+
- name: "πŸ“₯ Checkout repository"
101+
uses: actions/checkout@v4
102+
- name: "β˜•οΈ Setup JDK"
103+
uses: actions/setup-java@v4
104+
with:
105+
distribution: 'liberica'
106+
java-version: '17'
107+
- name: "🐘 Setup Gradle"
108+
uses: gradle/actions/setup-gradle@v4
109+
with:
110+
develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }}
111+
- name: "πŸ”‘ Login to Google Cloud"
112+
uses: google-github-actions/auth@ba79af03959ebeac9769e648f473a284504d9193
113+
with:
114+
credentials_json: ${{ secrets.GCP_CREDENTIALS }}
115+
create_credentials_file: 'true'
116+
- name: Set up Cloud SDK
117+
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a
118+
with:
119+
project_id: ${{ secrets.GCP_PROJECT_ID }}
120+
- name: "πŸ‹ Configure Docker for Artifact Registry"
121+
run: gcloud auth configure-docker us-docker.pkg.dev --quiet
122+
- name: "πŸƒ Run tests"
123+
working-directory: grails-forge
124+
run: ./gradlew grails-forge-analytics-postgres:test
125+
- name: "πŸ”¨ Build Docker image"
126+
working-directory: grails-forge
127+
# To deploy native executables built with GraalVM, replace dockerBuild with dockerBuildNative and dockerPush
128+
# with dockerPushNative. First, try that it works locally.
129+
run: >
130+
./gradlew
131+
grails-forge-analytics-postgres:dockerBuildNative
132+
-PdockerImageName=${{ env.IMAGE_NAME }}
133+
- name: "πŸ“€ Push Container to Google Cloud Artifact Registry"
134+
run: |
135+
docker push ${{ env.IMAGE_NAME }}
136+
- name: "πŸš€ Deploy Docker image"
137+
run: |
138+
gcloud components install beta --quiet
139+
gcloud run deploy ${{ secrets.GCP_PROJECT_ID }}-analytics-next --image $IMAGE_NAME --region us-central1 --platform managed --allow-unauthenticated --service-account=${{ secrets.GCLOUD_EMAIL }}

0 commit comments

Comments
Β (0)