Skip to content
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
* limitations under the License.
*/

// Gradle init-script applied during the Groovy joint-validation build.
// Gradle init-script applied during the Groovy Snapshot Canary validation build.
// Overrides Develocity and build-cache configuration injected by Groovy's own
// build-scans.gradle without modifying any of Groovy's source files.
//
// Applied via: ./gradlew --init-script <path>/groovy-joint-build.init.gradle
// Applied via: ./gradlew --init-script <path>/groovy-snapshot-canary-build.init.gradle
//
// Defensive: the pluginManager.withPlugin guard makes this a no-op when the
// Develocity plugin is absent, so the script never crashes Groovy's build.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

name: "CI - Groovy Joint Validation Build"
name: "Groovy Snapshot Canary Build"
on:
push:
branches:
Expand All @@ -31,6 +31,7 @@ permissions:
jobs:
build_groovy:
if: ${{ !contains(github.event.head_commit.message, '[skip tests]') }}
name: "Build Groovy Snapshot"
runs-on: ubuntu-latest
outputs:
groovyVersion: ${{ steps.groovy-version.outputs.value }}
Expand All @@ -43,18 +44,18 @@ jobs:
- name: "📥 Checkout Grails Core to fetch Gradle Plugin versions it uses"
# Sparse-checkout fetches only the two paths this job actually needs:
# - dependencies.gradle: parsed below to derive the matching Apache
# Groovy branch (GROOVY_<major>_0_X) for this Grails branch.
# - .github/scripts/groovy-joint-build.init.gradle: passed to
# Groovy branch (GROOVY_<major>_<minor>_X) for this Grails branch.
# - .github/scripts/groovy-snapshot-canary-build.init.gradle: passed to
# ./gradlew --init-script when publishing Groovy to local Maven so
# the joint build reuses our Develocity / build-cache settings.
# the canary build reuses our Develocity / build-cache settings.
# Both paths must be listed here; otherwise the init-script step fails
# with "The specified initialization script ... does not exist."
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
sparse-checkout-cone-mode: false
sparse-checkout: |
dependencies.gradle
.github/scripts/groovy-joint-build.init.gradle
.github/scripts/groovy-snapshot-canary-build.init.gradle
- name: "📝 Derive matching Apache Groovy branch from dependencies.gradle"
id: groovy-branch
run: |
Expand Down Expand Up @@ -93,7 +94,7 @@ jobs:
run: |
cd groovy
./gradlew pTML -x groovydoc -x javadoc -x javadocAll -x groovydocAll -x asciidoc -x docGDK \
--init-script $GITHUB_WORKSPACE/.github/scripts/groovy-joint-build.init.gradle
--init-script $GITHUB_WORKSPACE/.github/scripts/groovy-snapshot-canary-build.init.gradle
- name: "📤 Share locally built Groovy artifacts with the build_grails job"
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
Expand All @@ -103,7 +104,7 @@ jobs:
retention-days: 1
build_grails:
needs: [build_groovy]
name: "Build Grails with Groovy snapshot (shard ${{ matrix.shard_index }})"
name: "Build Grails (shard ${{ matrix.shard_index }})"
strategy:
fail-fast: false
matrix:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ limitations under the License.
[![Documentation](https://img.shields.io/badge/Documentation-595959)](https://grails.apache.org/docs/)
[![Develocity](https://img.shields.io/badge/Develocity-06A0CE?logo=Gradle&labelColor=06A0CE)](https://develocity.apache.org/scans)
[![CI](https://github.com/apache/grails-core/actions/workflows/gradle.yml/badge.svg?event=push)](https://github.com/apache/grails-core/actions/workflows/gradle.yml)
[![Groovy Joint Validation Build](https://github.com/apache/grails-core/actions/workflows/groovy-joint-workflow.yml/badge.svg?event=push)](https://github.com/apache/grails-core/actions/workflows/groovy-joint-workflow.yml)
[![Groovy Snapshot Canary Build](https://github.com/apache/grails-core/actions/workflows/groovy-snapshot-canary.yml/badge.svg?event=push)](https://github.com/apache/grails-core/actions/workflows/groovy-snapshot-canary.yml)
[![Users Mailing List](https://img.shields.io/badge/Users_Mailing_List-feb571)](https://lists.apache.org/list.html?users@grails.apache.org)
[![Dev Mailing List](https://img.shields.io/badge/Dev_Mailing_List-feb571)](https://lists.apache.org/list.html?dev@grails.apache.org)
[![Slack](https://img.shields.io/badge/Join_Slack-e01d5a)](https://slack.grails.org/)
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,7 @@ the following workflows:
2. `codestyle.yml` - Runs checkstyle on our build to ensure code style requirements are met against any submitted code.
3. `forge-*.yml` - Workflows to build & publish our public App Generation website.
4. `gradle.yml` - Our main CI workflow & snapshot publishing.
5. `groovy-joint-workflow.yml` - A workflow that runs with the latest snapshot of Groovy to ensure we are forward
5. `groovy-snapshot-canary.yml` - A workflow that runs with the latest snapshot of Groovy to ensure we are forward
compatible and give the Groovy team early feedback.
6. `rat.yml` - A workflow that runs the Apache RAT license audit to ensure license compliance. We use the Gradle plugin
org.nosphere.apache.rat` to perform the audit.
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ rootProject.name = 'grails.core.ROOT'
//
// Two presence-based overrides (matching project convention: skipFunctionalTests, skipCodeStyle):
// -PskipMicronautProjects force-exclude the island on ANY JDK. Used by
// groovy-joint-workflow.yml, where the island's Groovy 5 /
// groovy-snapshot-canary.yml, where the island's Groovy 5 /
// Spock 2.4-groovy-5.0 pin clashes with the Groovy 4.x snapshot
// that build swaps in - a reason independent of the JDK (#15613).
// -PincludeMicronautProjects force-include the island on a sub-25 JDK. Escape hatch for
Expand Down
Loading