Skip to content

ci: move conventions tests to a template-only workflow - #30

Merged
sbglasius merged 1 commit into
ci/groovy-dockerfrom
ci/conventions-workflow
Oct 26, 2026
Merged

sbglasius merged 1 commit into
ci/groovy-dockerfrom
ci/conventions-workflow

Conversation

@sbglasius

@sbglasius sbglasius commented Oct 26, 2026 •

Copy link
Copy Markdown
Collaborator

Stacked on #29 (base is ci/groovy-docker; GitHub retargets it to main when #29 merges).

Problem

ci.yml is synced to every plugin repo, but it carried two template-only steps (Java 21 setup and ./gradlew -p conventions test). Synced repos have no conventions/ directory, so those steps were dead weight in every child repo.

Changes

  • ci.yml: the conventions steps are removed; it no longer mentions conventions. It still builds the plugin and app1 in the template.
  • New ci-conventions.yml (template-only, never synced): runs the conventions tests on Java 17 and 21, triggered by changes to conventions/**, gradle.properties or .sdkmanrc. Also runnable by hand or via workflow_call.
  • release-conventions.yml: its test job now calls ci-conventions.yml. The old release job ran only Java 17, so the Grails 8 cases in GrailsLineSpec were silently skipped at release time.
  • files-sync.yml: excludes ci-conventions.yml.
  • verify-repository.groovy: fails if ci.yml runs anything against conventions/, or if a template-only workflow is not excluded from the sync.
  • Docs and skills updated.

Considered and rejected

A template-files/ directory. Most synced files are also used by the template itself, and GitHub will not run symlinked workflows, so it would need duplicated files and a rewrite of files-sync.yml.

Notes

  • If "Test convention plugins" is a required status check in branch protection, it needs updating: the new check is path-filtered, so it does not run on PRs that leave conventions/ alone.
  • verify-repository.groovy passes locally, and fails as expected when the sync exclude is removed. The workflows have not run on GitHub yet.

ci.yml is synced to every plugin repo but carried template-only steps that
test conventions/, which synced repos do not have. Move them to
ci-conventions.yml, which files-sync.yml never copies, and have
release-conventions.yml reuse it so releases also run the Java 21 tests.

verify-repository.groovy now fails if ci.yml runs anything against
conventions/ or if a template-only workflow is not excluded from the sync.
@sbglasius
sbglasius merged commit 7eaec65 into ci/groovy-docker Oct 26, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant