This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
The following commit(s) were added to refs/heads/7.0.x by this push:
new 0047ba6337 Add release-close workflow; rename publish-docs
0047ba6337 is described below
commit 0047ba63379bea88a6b191a194bb5ad0ab6243d0
Author: James Fredley <[email protected]>
AuthorDate: Sun Feb 1 08:49:14 2026 -0500
Add release-close workflow; rename publish-docs
Add .github/workflows/release-close.yml to perform post-release closing
tasks (checkout tag, run post-release script, manual instructions for blog, PR
merge, snapshot deploy, website updates, and announcement email). Rename
.github/workflows/publish-docs.yml to
.github/workflows/release-publish-docs.yml and update the workflow name to
"Release - Publish Documentation" to reflect its release-focused purpose.
---
.github/workflows/release-close.yml | 96 ++++++++++++++++++++++
.../{publish-docs.yml => release-publish-docs.yml} | 2 +-
2 files changed, 97 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/release-close.yml
b/.github/workflows/release-close.yml
new file mode 100644
index 0000000000..6a934a4248
--- /dev/null
+++ b/.github/workflows/release-close.yml
@@ -0,0 +1,96 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: "Release - Close"
+on:
+ workflow_dispatch:
+ inputs:
+ version:
+ description: 'Release version (e.g., 7.0.0)'
+ required: true
+ type: string
+permissions: { }
+env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ PROJECT_NAME: Apache Grails
+ TAG: v${{ inputs.version }}
+ TARGET_BRANCH: ${{ github.ref_name }}
+ VERSION: ${{ inputs.version }}
+jobs:
+ close:
+ name: "Close Release"
+ environment: release
+ runs-on: ubuntu-24.04
+ permissions:
+ contents: write # required for gradle.properties revert
+ issues: write # required for milestone closing
+ pull-requests: write # to open PR
+ actions: write # in case there are pending changes to release.yml in the
target branch
+ steps:
+ - name: "📥 Checkout repository"
+ uses: actions/checkout@v5
+ with:
+ ref: ${{ env.TAG }}
+ token: ${{ secrets.GITHUB_TOKEN }}
+ - name: "⚙️ Run post-release"
+ uses: apache/grails-github-actions/post-release@asf
+ env:
+ RELEASE_SCRIPT_PATH: '.github/scripts/setSnapshotGrailsVersion.sh'
+ - name: "🌎 MANUAL - Create Blog Post"
+ run: |
+ echo "::group::Blog Post Creation - MANUAL"
+ echo "Publish a blog post on https://grails.apache.org/blog/ about
the new release [${VERSION}] using"
+ echo "the repo: https://github.com/apache/grails-static-website"
+ echo "::endgroup::"
+ - name: "🌎 MANUAL - Merge Close Release PR"
+ run: |
+ echo "::group::Merge Close Release PR - MANUAL"
+ echo "The last step in the grails-core release workflow will create
a merge branch for the original tag"
+ echo "with version number and then open a PR to merge back into the
next branch."
+ echo "You will need to merge this PR into the branch after
correcting any merge conflict."
+ echo "::endgroup::"
+ - name: "🌎 MANUAL - deploy the new SNAPSHOT to Forge"
+ run: |
+ echo "::group::Deploy the new SNAPSHOT to Forge - MANUAL"
+ echo "After the Close Release PR is merged, deploy the new SNAPSHOT
to Forge via:"
+ echo
"https://github.com/apache/grails-core/actions/workflows/forge-deploy-snapshot.yml"
+ echo "::endgroup::"
+ - name: "🌎 MANUAL - Add version to the Grails Website"
+ run: |
+ echo "::group::Add version to the Grails Website - MANUAL"
+ echo "Add the released version [${VERSION}] to the Grails Website by
running the Release workflow:"
+ echo
"https://github.com/apache/grails-static-website/actions/workflows/release.yml"
+ echo "Republish Grails Website by running the Publish workflow:"
+ echo
"https://github.com/apache/grails-static-website/actions/workflows/publish.yml"
+ echo "::endgroup::"
+ - name: '📧 Announcement Email'
+ run: |
+ echo "::group::Announcement Email"
+ echo ""
+ echo "TO:"
+ echo "*************************************************"
+ echo "[email protected], [email protected],
[email protected]"
+ echo "*************************************************"
+ echo ""
+ echo "Subject:"
+ echo "*************************************************"
+ echo "[ANNOUNCE] ${PROJECT_NAME} ${VERSION}"
+ echo "*************************************************"
+ echo ""
+ echo "Body:"
+ echo "*************************************************"
+ cat .github/vote_templates/announce.txt | envsubst
+ echo "*************************************************"
+ echo "::endgroup::"
diff --git a/.github/workflows/publish-docs.yml
b/.github/workflows/release-publish-docs.yml
similarity index 98%
rename from .github/workflows/publish-docs.yml
rename to .github/workflows/release-publish-docs.yml
index a6324939bd..a1224542eb 100644
--- a/.github/workflows/publish-docs.yml
+++ b/.github/workflows/release-publish-docs.yml
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-name: "Publish Documentation"
+name: "Release - Publish Documentation"
on:
workflow_dispatch:
inputs: