Skip to content

Commit 0047ba6

Browse files
committed
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.
1 parent a5d9f71 commit 0047ba6

File tree

2 files changed

+97
-1
lines changed

2 files changed

+97
-1
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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: "Release - Close"
17+
on:
18+
workflow_dispatch:
19+
inputs:
20+
version:
21+
description: 'Release version (e.g., 7.0.0)'
22+
required: true
23+
type: string
24+
permissions: { }
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
PROJECT_NAME: Apache Grails
28+
TAG: v${{ inputs.version }}
29+
TARGET_BRANCH: ${{ github.ref_name }}
30+
VERSION: ${{ inputs.version }}
31+
jobs:
32+
close:
33+
name: "Close Release"
34+
environment: release
35+
runs-on: ubuntu-24.04
36+
permissions:
37+
contents: write # required for gradle.properties revert
38+
issues: write # required for milestone closing
39+
pull-requests: write # to open PR
40+
actions: write # in case there are pending changes to release.yml in the target branch
41+
steps:
42+
- name: "📥 Checkout repository"
43+
uses: actions/checkout@v5
44+
with:
45+
ref: ${{ env.TAG }}
46+
token: ${{ secrets.GITHUB_TOKEN }}
47+
- name: "⚙️ Run post-release"
48+
uses: apache/grails-github-actions/post-release@asf
49+
env:
50+
RELEASE_SCRIPT_PATH: '.github/scripts/setSnapshotGrailsVersion.sh'
51+
- name: "🌎 MANUAL - Create Blog Post"
52+
run: |
53+
echo "::group::Blog Post Creation - MANUAL"
54+
echo "Publish a blog post on https://grails.apache.org/blog/ about the new release [${VERSION}] using"
55+
echo "the repo: https://github.com/apache/grails-static-website"
56+
echo "::endgroup::"
57+
- name: "🌎 MANUAL - Merge Close Release PR"
58+
run: |
59+
echo "::group::Merge Close Release PR - MANUAL"
60+
echo "The last step in the grails-core release workflow will create a merge branch for the original tag"
61+
echo "with version number and then open a PR to merge back into the next branch."
62+
echo "You will need to merge this PR into the branch after correcting any merge conflict."
63+
echo "::endgroup::"
64+
- name: "🌎 MANUAL - deploy the new SNAPSHOT to Forge"
65+
run: |
66+
echo "::group::Deploy the new SNAPSHOT to Forge - MANUAL"
67+
echo "After the Close Release PR is merged, deploy the new SNAPSHOT to Forge via:"
68+
echo "https://github.com/apache/grails-core/actions/workflows/forge-deploy-snapshot.yml"
69+
echo "::endgroup::"
70+
- name: "🌎 MANUAL - Add version to the Grails Website"
71+
run: |
72+
echo "::group::Add version to the Grails Website - MANUAL"
73+
echo "Add the released version [${VERSION}] to the Grails Website by running the Release workflow:"
74+
echo "https://github.com/apache/grails-static-website/actions/workflows/release.yml"
75+
echo "Republish Grails Website by running the Publish workflow:"
76+
echo "https://github.com/apache/grails-static-website/actions/workflows/publish.yml"
77+
echo "::endgroup::"
78+
- name: '📧 Announcement Email'
79+
run: |
80+
echo "::group::Announcement Email"
81+
echo ""
82+
echo "TO:"
83+
echo "*************************************************"
84+
echo "announce@apache.org, dev@grails.apache.org, users@grails.apache.org"
85+
echo "*************************************************"
86+
echo ""
87+
echo "Subject:"
88+
echo "*************************************************"
89+
echo "[ANNOUNCE] ${PROJECT_NAME} ${VERSION}"
90+
echo "*************************************************"
91+
echo ""
92+
echo "Body:"
93+
echo "*************************************************"
94+
cat .github/vote_templates/announce.txt | envsubst
95+
echo "*************************************************"
96+
echo "::endgroup::"

.github/workflows/publish-docs.yml renamed to .github/workflows/release-publish-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# See the License for the specific language governing permissions and
1414
# limitations under the License.
1515

16-
name: "Publish Documentation"
16+
name: "Release - Publish Documentation"
1717
on:
1818
workflow_dispatch:
1919
inputs:

0 commit comments

Comments
 (0)