Repository navigation
bravebot profile: run Docker platform gates only for a story about another platform - #174
Merged
Merged
Conversation
…t another platform check-affected covers the host and bravebot's CI covers the other platforms, so check-msrv, check-windows and check-linux were repeating work on every Rust change.
bbondy
approved these changes
Oct 9, 2026
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.
User impact: none for a person using bravebot -- this changes which checks the loop runs before it opens a bravebot PR.
The problem
For every bravebot story that changed Rust, the loop's last validation step ran
check-msrv,check-windowsandcheck-linux. Each copies the whole worktree into a Docker container and builds it cold, so every iteration spent a long time re-checking platforms the host does not run.make check-affectedalready checks the host, and bravebot's CI checks the other platforms.Reproduce
python3 -c "import json; print(json.load(open('projects/bravebot/profile.json'))['validations'][-1])"on master.The fix
The step now says to run the Docker gates only when the story is specifically about a platform other than the host's: the issue names Linux, Windows or an architecture, or the diff changes code gated to one. Otherwise the agent skips them and records
Docker gates skipped: host-onlyin progress.txt.projects/bravebot/docs/testing.mdsays the same. A new test pins the wording. This is the bravebot profile, so it applies in every PRD mode.Test plan
python3 -m pytest tests/test_scripts.py -k TestBravebot-- passedmake lint-- passedmake test-- one unrelated failure,TestReviewRequestQueue(wc -lpads its count on macOS)