Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name-template: $RESOLVED_VERSION
tag-template: v$RESOLVED_VERSION
pull-request:
title-templates:
fix: '🐛 $TITLE (#$NUMBER)'
feat: '🚀 $TITLE (#$NUMBER)'
default: '$TITLE (#$NUMBER)'
autolabeler:
- label: 'bug'
branch:
- '/fix\/.+/'
title:
- '/fix/i'
- label: 'improvement'
branch:
- '/improv\/.+/'
title:
- '/improv/i'
- label: 'feature'
branch:
- '/feature\/.+/'
title:
- '/feat/i'
- label: 'documentation'
branch:
- '/docs\/.+/'
title:
- '/docs/i'
- label: 'maintenance'
branch:
- '/(chore|refactor|style|test|ci|perf|build)\/.+/'
title:
- '/(chore|refactor|style|test|ci|perf|build)/i'
- label: 'chore'
branch:
- '/chore\/.+/'
title:
- '/chore/i'
- label: 'refactor'
branch:
- '/refactor\/.+/'
title:
- '/refactor/i'
- label: 'style'
branch:
- '/style\/.+/'
title:
- '/style/i'
- label: 'test'
branch:
- '/test\/.+/'
title:
- '/test/i'
- label: 'ci'
branch:
- '/ci\/.+/'
title:
- '/ci/i'
- label: 'perf'
branch:
- '/perf\/.+/'
title:
- '/perf/i'
- label: 'build'
branch:
- '/build\/.+/'
title:
- '/build/i'
- label: 'deps'
branch:
- '/deps\/.+/'
title:
- '/deps/i'
- label: 'revert'
branch:
- '/revert\/.+/'
title:
- '/revert/i'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- "type: enhancement"
- "type: new feature"
- "type: major"
- "type: minor"
- title: '💡 Improvements'
labels:
- 'improvement'
- "type: improvement"

- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bug'
- "type: bug"
- title: '📚 Documentation'
labels:
- 'docs'
- title: '🔧 Maintenance'
labels:
- 'maintenance'
- 'chore'
- 'refactor'
- 'style'
- 'test'
- 'ci'
- 'perf'
- 'build'
- "type: ci"
- "type: build"
- title: '⏪ Reverts'
labels:
- 'revert'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
version-resolver:
major:
labels:
- 'type: major'
minor:
labels:
- 'type: minor'
patch:
labels:
- 'type: patch'
default: patch
template: |
## What's Changed

$CHANGES

## Contributors

$CONTRIBUTORS
110 changes: 110 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: "CI"
on:
push:
branches:
- '[0-9]+.[0-9]+.x'
- 'main'
pull_request:
workflow_dispatch:
env:
JAVA_DISTRIBUTION: 'liberica'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
build:
name: "Build & Test"
runs-on: ubuntu-24.04
steps:
- name: "Output Agent IP" # in the event your agent has network issues, you can use this to debug
run: curl -s https://api.ipify.org
- name: "📥 Checkout repository"
uses: actions/checkout@v6
- name: "Export .sdkmanrc properties"
uses: apache/grails-github-actions/export-gradle-properties@asf
with:
file: ".sdkmanrc"
prefix: "SDKMANRC_"
- name: "Determine Java Version"
run: echo "SDKMANRC_java=${{ env.SDKMANRC_java }}" | sed 's/-.*//' >> $GITHUB_ENV
- name: "☕️ Setup JDK"
uses: actions/setup-java@v5
with:
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.SDKMANRC_java }}
- name: 'Ensure Common Build Date' # to ensure a reproducible build
run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> "$GITHUB_ENV"
- name: "Export gradle.properties properties"
uses: apache/grails-github-actions/export-gradle-properties@asf
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v5
with:
build-scan-publish: ${{ env.ciBuildScanPublish }}
build-scan-terms-of-use-url: ${{ env.ciBuildScanTermsOfUseUrl }}
build-scan-terms-of-use-agree: ${{ env.ciBuildScanTermsOfUseAgree }}
- name: "🔨 Build project without tests"
if: ${{ contains(github.event.head_commit.message, '[skip tests]') }}
run: >
./gradlew build
--continue
--stacktrace
-PskipTests
-PskipCodeStyle
- name: "🔨 Build project with tests"
if: ${{ !contains(github.event.head_commit.message, '[skip tests]') }}
run: >
./gradlew build
--continue
--stacktrace
--rerun-tasks
-PskipCodeStyle
publish:
# only run the publishing task on this repo (not on forks)
if: github.repository_owner == 'grails-plugins' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch')
needs: build
name: "Publish Snapshot"
runs-on: ubuntu-24.04
steps:
- name: "Output Agent IP" # in the event your agent has network issues, you can use this to debug
run: curl -s https://api.ipify.org
- name: "📥 Checkout repository"
uses: actions/checkout@v6
- name: "Export .sdkmanrc properties"
uses: apache/grails-github-actions/export-gradle-properties@asf
with:
file: ".sdkmanrc"
prefix: "SDKMANRC_"
- name: "Determine Java Version"
run: echo "SDKMANRC_java=${{ env.SDKMANRC_java }}" | sed 's/-.*//' >> $GITHUB_ENV
- name: "☕️ Setup JDK"
uses: actions/setup-java@v5
with:
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.SDKMANRC_java }}
- name: 'Ensure Common Build Date' # to ensure a reproducible build
run: echo "SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct)" >> "$GITHUB_ENV"
- name: "Export gradle.properties properties"
uses: apache/grails-github-actions/export-gradle-properties@asf
- name: "🐘 Setup Gradle"
uses: gradle/actions/setup-gradle@v5
with:
build-scan-publish: ${{ env.ciBuildScanPublish }}
build-scan-terms-of-use-url: ${{ env.ciBuildScanTermsOfUseUrl }}
build-scan-terms-of-use-agree: ${{ env.ciBuildScanTermsOfUseAgree }}
- name: "📤 Publish Snapshot Artifacts"
env:
GRAILS_PUBLISH_RELEASE: 'false'
MAVEN_PUBLISH_URL: 'https://central.sonatype.com/repository/maven-snapshots/'
MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_PUBLISH_USERNAME }}
MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PUBLISH_PASSWORD }}
run: >
./gradlew publish
--no-build-cache
--rerun-tasks
- name: "📜 Generate Documentation"
run: ./gradlew asciidoctor
- name: "🚀 Publish to Github Pages"
uses: apache/grails-github-actions/deploy-github-pages@asf
env:
GRADLE_PUBLISH_RELEASE: 'false'
SOURCE_FOLDER: build/docs/manual
26 changes: 26 additions & 0 deletions .github/workflows/release-notes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: "Release - Drafter"
on:
issues:
types: [ closed,reopened ]
push:
branches:
- '[0-9]+.[0-9]+.x'
- 'main'
pull_request:
types: [ opened, reopened, synchronize, labeled ]
workflow_dispatch:
# queue jobs and only allow 1 run per branch due to the likelihood of hitting GitHub resource limits
concurrency:
group: release-pipeline
cancel-in-progress: false
jobs:
update_release_draft:
permissions:
contents: write # write permission is required to create a github release
pull-requests: write # write permission is required for auto-labeler
runs-on: ubuntu-24.04
steps:
- name: "📝 Update Release Draft"
uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading
Loading