The prek job never builds an image, so a bump of the Dockerfile's base image reached main unvalidated and only failed afterwards in Publish - by which point ghcr.io/etkecc/baibot:latest had already been attempted. Add a gate job that looks for Dockerfile changes against main, and a build job that builds the image the way Publish does but with `push: false`. The build is gated rather than unconditional because it is a full Rust release build: running it on every push would turn a ~1 minute pipeline into a ~10 minute one for changes that cannot affect the image. It is skipped on main, where Publish already builds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
3.5 KiB
3.5 KiB