Files
Joseph Mattiello 1c310a53c9 fix(toolchain): correct .dockerignore negation chain and CI path filters
Kimi review on #581 found two real gaps:

1. docker/jaguar-toolchain.Dockerfile.dockerignore's `!tools` negation
   didn't actually scope the build context. A bare `*` only matches
   root-level entries (Go's filepath.Match, no `/` crossing), so nothing
   under tools/ was ever excluded to begin with -- `!tools` was a no-op
   re-include of an already-included tree. Fixed with the standard
   Docker per-level exclude/re-include chain (tools/*, !tools/
   jaguar-toolchain, tools/jaguar-toolchain/*, then the two leaf files).
   Harmless in CI (fresh checkout, builder stage only COPYs PIN/setup.sh
   regardless) but was sending a dev machine's full tools/vendor/
   jaguar-toolchain/ (real clones + build artifacts) as build context.

2. Neither workflow's `paths:` filter covered the .dockerignore file
   itself, and jaguar-toolchain-image.yml didn't cover its own filename
   -- so a broken .dockerignore (finding 1) or an edit to the publish
   workflow would silently run zero CI. Added both.
2026-08-24 21:15:55 -04:00
..