Skip to content

ci: reduce indy=true to one job per test type#15438

Merged
jamesfredley merged 1 commit intoapache:7.1.xfrom
jamesfredley:ci/indy-one-per-job
Feb 24, 2026
Merged

ci: reduce indy=true to one job per test type#15438
jamesfredley merged 1 commit intoapache:7.1.xfrom
jamesfredley:ci/indy-one-per-job

Conversation

@jamesfredley
Copy link
Copy Markdown
Contributor

Summary

Follow-up to #15415. Instead of pairing `indy=true` with every Java version, run a single `indy=true` job (Java 17) per test type alongside all the existing `indy=false` combinations.

Job count change

Job Before After
buildForge 4 (2 Java × 2 indy) 3 (2 Java indy=false + 1 indy=true)
functional 6 (3 Java × 2 indy) 4 (3 Java indy=false + 1 indy=true)
mongodbFunctional 8 (2 Java × 2 MongoDB × 2 indy) 5 (4 indy=false + 1 indy=true)
hibernate5Functional 4 (2 Java × 2 indy) 3 (2 Java indy=false + 1 indy=true)

The single indy=true run per job type uses Java 17 (minimum supported version). For mongodbFunctional it also pins MongoDB 7.0.

Relates to #15321, follow-up to #15415

Instead of running indy=true for every Java version combination,
run it only once per job type (Java 17) to maintain coverage without
doubling the CI matrix size.

- buildForge:          4 → 3 jobs (Java 17+21 indy=false, Java 17 indy=true)
- functional:          6 → 4 jobs (Java 17+21+25 indy=false, Java 17 indy=true)
- mongodbFunctional:   8 → 5 jobs (all indy=false, Java 17+MongoDB 7.0 indy=true)
- hibernate5Functional: 4 → 3 jobs (Java 17+25 indy=false, Java 17 indy=true)

Assisted-by: Claude Code <Claude@Claude.ai>
@jamesfredley jamesfredley marked this pull request as ready for review February 24, 2026 00:02
Copilot AI review requested due to automatic review settings February 24, 2026 00:02
@jamesfredley jamesfredley self-assigned this Feb 24, 2026
@jamesfredley jamesfredley moved this to In Progress in Apache Grails Feb 24, 2026
@jamesfredley jamesfredley added this to the grails:7.1.0 milestone Feb 24, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR optimizes CI job execution time by reducing the number of invokedynamic (indy) test configurations. Instead of testing indy=true with every Java version (as introduced in #15415), it now runs a single indy=true job per test type using Java 17 (the minimum supported version), while continuing to test indy=false with all Java versions.

Changes:

  • Reduced total CI jobs from 22 to 15 across four job types (buildForge, functional, mongodbFunctional, hibernate5Functional)
  • All jobs now use a consistent matrix pattern: indy: [false] in the base matrix with an include entry for Java 17 with indy: true
  • MongoDB functional tests pin MongoDB 7.0 for the indy=true job

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jamesfredley jamesfredley merged commit 587980e into apache:7.1.x Feb 24, 2026
40 checks passed
@jamesfredley jamesfredley deleted the ci/indy-one-per-job branch February 24, 2026 03:04
@github-project-automation github-project-automation bot moved this from In Progress to Done in Apache Grails Feb 24, 2026
@jamesfredley
Copy link
Copy Markdown
Contributor Author

This reduces the chances of a "fake" failure by 7.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants