7.0.0-M1 #148
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |