Skip to content

7.0.0-M1

7.0.0-M1 #148

Workflow file for this run

name: "Release"
on:
release:
types: [published]
permissions: {}
jobs:
publish:
permissions:
contents: write # to create release
issues: write # to modify milestones
runs-on: ubuntu-latest
outputs:
release_version: ${{ steps.release_version.outputs.value }}
target_branch: ${{ steps.extract_branch.outputs.value }}
env:
GIT_USER_NAME: 'grails-build'
GIT_USER_EMAIL: '[email protected]'
steps:
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-bom"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-bom || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-bootstrap"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-bootstrap || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-codecs"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-codecs || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-console"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-console || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-dependencies"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-dependencies || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-databinding"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-databinding || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-docs"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-docs || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-core"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-core || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-gradle-model"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-gradle-model || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-encoder"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-encoder || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-logging"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-logging || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-controllers"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-controllers || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-codecs"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-codecs || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-databinding"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-databinding || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-datasource"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-datasource || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-domain-class"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-domain-class || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-i18n"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-i18n || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-interceptors"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-interceptors || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-mimetypes"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-mimetypes || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-validation"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-validation || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-rest"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-rest || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-url-mappings"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-url-mappings || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-plugin-services"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-plugin-services || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-shell"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-shell || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-spring"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-spring || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-test"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-test || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web-boot"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web-boot || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web-common"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web-common || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web-url-mappings"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web-url-mappings || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web-databinding"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web-databinding || true
- name: "πŸ’₯ Purge Existing Builds - org.grails.grails-web-mvc"
run: |
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/${{ github.repository_owner }}/packages/maven/org.grails.grails-web-mvc || true
- name: "πŸ“₯ Checkout repository"
uses: actions/checkout@v4
- name: "⎌ Revert Prevent Snapshot Publishing Flag"
run: |
sed -i "s/^preventSnapshotPublish.*$/preventSnapshotPublish\=false/" gradle.properties
- name: "πŸ“© Commit flag to allow snapshot publishing"
run: |
git config user.name "${{ env.GIT_USER_NAME }}"
git config user.email "${{ env.GIT_USER_EMAIL }}"
git add gradle.properties
if ! git diff --cached --quiet; then
git commit -m "[skip ci] Restore Snapshot Publishing"
git push origin HEAD
else
echo "Publishing already enabled."
fi
- name: "β˜•οΈ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: "πŸ“ Store the target branch"
id: extract_branch
run: |
echo "Determining Target Branch"
TARGET_BRANCH=`cat $GITHUB_EVENT_PATH | jq '.release.target_commitish' | sed -e 's/^"\(.*\)"$/\1/g'`
echo $TARGET_BRANCH
echo "value=${TARGET_BRANCH}" >> $GITHUB_OUTPUT
- name: "πŸ“ Store the current release version"
id: release_version
run: echo "value=${GITHUB_REF:11}" >> $GITHUB_OUTPUT
- name: "βš™οΈ Run pre-release"
uses: ./.github/actions/pre-release
- name: "🧩 Run Assemble"
if: success()
id: assemble
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
run: ./gradlew assemble
- name: "πŸ“€ Upload Distribution"
if: success()
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
with:
name: grails-${{ steps.release_version.outputs.value }}.zip
path: build/distributions/grails-${{ steps.release_version.outputs.value }}.zip
- name: "πŸ“€ Upload artifacts to the Github release"
if: success()
id: upload_artifact
uses: Roang-zero1/github-upload-release-artifacts-action@c15e0b65ce2ae1c8d52bfbc75d017d21e1da77d7 # v3.0.0 (Use commit sha as this is a 3rd party action)
with:
args: build/distributions/grails-${{ steps.release_version.outputs.value }}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "πŸ” Generate secring file"
if: success()
env:
SECRING_FILE: ${{ secrets.SECRING_FILE }}
run: echo $SECRING_FILE | base64 -d > ${{ github.workspace }}/secring.gpg
- name: "πŸ“€ Publish to Sonatype OSSRH"
id: publish
if: success()
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
SIGNING_PASSPHRASE: ${{ secrets.SIGNING_PASSPHRASE }}
SECRING_FILE: ${{ secrets.SECRING_FILE }}
run: >
./gradlew
-Psigning.secretKeyRingFile=${{ github.workspace }}/secring.gpg
publishToSonatype
closeSonatypeStagingRepository
release:
needs: publish
runs-on: ubuntu-latest
permissions:
contents: read # limit to read access
steps:
- name: "πŸ“₯ Checkout repository"
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_TOKEN }}
ref: v${{ needs.publish.outputs.release_version }}
- name: "β˜•οΈ Setup JDK"
uses: actions/setup-java@v4
with:
distribution: liberica
java-version: 17
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v4
with:
develocity-access-key: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: "πŸšͺ Nexus Staging Close And Release"
env:
DEVELOCITY_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
DEVELOCITY_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_NEXUS_URL: ${{ secrets.SONATYPE_NEXUS_URL }}
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
run: >
./gradlew
findSonatypeStagingRepository
releaseSonatypeStagingRepository
- name: "βš™οΈ Run post-release"
if: success()
uses: ./.github/actions/post-release
docs:
needs: publish
runs-on: ubuntu-latest
permissions:
contents: read # limit to read access
steps:
- name: "βš™οΈ Prepare Input"
id: prep_inputs
run: |
echo "value={\"grails_version\":\"$RELEASE_VERSION\"}" >> $GITHUB_OUTPUT
env:
RELEASE_VERSION: ${{ needs.publish.outputs.release_version }}
- name: "πŸ“‘ Invoke grails-doc release workflow"
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 (Use commit sha as this is a 3rd party action)
with:
workflow: Release
repo: grails/grails-doc
ref: ${{ needs.publish.outputs.target_branch }}
token: ${{ secrets.GH_TOKEN }}
inputs: ${{ steps.prep_inputs.outputs.value }}
website:
if: false # disable for 7.0.0-M1 release
needs: publish
runs-on: ubuntu-latest
permissions:
contents: read # limit to read access
steps:
- name: "βš™οΈ Prepare Input"
id: prep_inputs
run: |
echo "value={\"grails_version\":\"$RELEASE_VERSION\"}" >> $GITHUB_OUTPUT
env:
RELEASE_VERSION: ${{ needs.publish.outputs.release_version }}
- name: "πŸ“‘ Invoke grails-static-website release workflow"
if: success()
id: grails_static_website
uses: benc-uk/workflow-dispatch@e2e5e9a103e331dad343f381a29e654aea3cf8fc # v1.2.4 (Use commit sha as this is a 3rd party action)
with:
workflow: Release
repo: grails/grails-static-website
ref: master
token: ${{ secrets.GH_TOKEN }}
inputs: ${{ steps.prep_inputs.outputs.value }}