The test workflow (forge build + forge test) is set to on: workflow_dispatch, so it only runs when someone triggers it by hand. It has 0 runs in the Actions history. Nothing runs it on pull requests or pushes.
On top of that, none of the branch rulesets require a status check (checks=[] on all of them), so even a manual failing run wouldn't block a merge. The only automated CI on the repo is CodeQL default setup. For a smart-contract repo, that means changes can land on main with no build or test having run.
Suggested fix
Add pull_request (and probably push to main/dev) triggers to test.yml, then add a ruleset that requires the resulting check on main/dev. Same shape peanut-ui uses with ci-success.
The
testworkflow (forge build + forge test) is set toon: workflow_dispatch, so it only runs when someone triggers it by hand. It has 0 runs in the Actions history. Nothing runs it on pull requests or pushes.On top of that, none of the branch rulesets require a status check (
checks=[]on all of them), so even a manual failing run wouldn't block a merge. The only automated CI on the repo is CodeQL default setup. For a smart-contract repo, that means changes can land on main with no build or test having run.Suggested fix
Add
pull_request(and probablypushto main/dev) triggers totest.yml, then add a ruleset that requires the resulting check on main/dev. Same shape peanut-ui uses withci-success.