Repository navigation
ci: move conventions tests to a template-only workflow - #30
Merged
Merged
Conversation
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.
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #29 (base is
ci/groovy-docker; GitHub retargets it tomainwhen #29 merges).Problem
ci.ymlis synced to every plugin repo, but it carried two template-only steps (Java 21 setup and./gradlew -p conventions test). Synced repos have noconventions/directory, so those steps were dead weight in every child repo.Changes
ci.yml: the conventions steps are removed; it no longer mentionsconventions. It still builds the plugin andapp1in the template.ci-conventions.yml(template-only, never synced): runs the conventions tests on Java 17 and 21, triggered by changes toconventions/**,gradle.propertiesor.sdkmanrc. Also runnable by hand or viaworkflow_call.release-conventions.yml: its test job now callsci-conventions.yml. The old release job ran only Java 17, so the Grails 8 cases inGrailsLineSpecwere silently skipped at release time.files-sync.yml: excludesci-conventions.yml.verify-repository.groovy: fails ifci.ymlruns anything againstconventions/, or if a template-only workflow is not excluded from the sync.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 offiles-sync.yml.Notes
conventions/alone.verify-repository.groovypasses locally, and fails as expected when the sync exclude is removed. The workflows have not run on GitHub yet.