The GitHub Actions job "CI" on grails-intellij-plugin.git/main has succeeded.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
7fda17f56ffde80af469729aad0531d83d41069c / James Daugherty 
<[email protected]>
Commit the build-logic helper classes that .gitignore was swallowing

The rat job failed on CI with "unable to resolve class
org.apache.grails.intellij.build.LegacyBytecodeExtension" while every local
build passed.

Cause: build-logic's helper classes sit in package
org.apache.grails.intellij.build, which is a directory literally named `build`,
and .gitignore's second line was `**/build`. So
build-logic/src/main/groovy/org/apache/grails/intellij/build/ was ignored and
LegacyBytecodeExtension.groovy and OssIndexAuditThrottle.groovy were never
committed -- `git add -A` had nothing to add. Local builds compiled against the
untracked working-tree copies; a fresh checkout has neither, so compiling the
precompiled script plugins fails. vulnerability-scan was broken the same way,
on OssIndexAuditThrottle.

No amount of cleaning the working tree reproduces this, which is why it went
unnoticed: the failure only exists in a checkout. Reproduced by building a
`git archive HEAD` tree, which fails exactly as CI does, and confirmed fixed by
building the same tree with these files present.

The ignore patterns are now depth-anchored (/build/, /*/build/, /*/*/build/),
covering the root, <project>/build and <tier>/<project>/build -- the same shape
the RAT excludes already use -- so a package segment named `build` at any depth
is unaffected. Verified the real Gradle build directories are still ignored.

AGENTS.md records the trap and the one-liner to check for it, since the natural
guard cannot live in CI: on CI the files are simply absent, so there is nothing
for `git status --ignored` to report.

Report URL: 
https://github.com/apache/grails-intellij-plugin/actions/runs/30219720287

With regards,
GitHub Actions via GitBox

Reply via email to