Recording a single observation so the next one can be counted. This is not a flakiness claim —
one failure is not evidence of anything, and calling a test flaky from a count has already cost us a
withdrawn issue this week. It is here so that whoever sees it a second time has a first.
PR #797, run 32877... , bats (macos-latest 1/4)
not ok 14 join: concurrent joins to the same team do not lose registrations (#141)
tests/test_team.bats:111
It is not caused by that PR, established three ways rather than assumed:
grep -rln "_wait_pidfile" tests/ → tests/test_watch.bats only. The PR widens that helper's
window; nothing outside that file can see it.
.github/scripts/shard-tests.sh <i> 4 tests for i in 1..4 →
test_team.bats is in shard 1, test_watch.bats is in shard 4. The changed file and the
failing file are not in the same job.
- The PR's diff is that one file.
It is also not currently visible on main. Checking every failing main run in the last ten
(gh run list --workflow tests.yml --branch main then --log-failed | grep "not ok "), the failures
present are the two #937 launcher tests and the pair-release test now correctly naming #983. This
test does not appear.
So: a concurrency test failed once, on a shard nothing in the PR touches, on a platform, and has not
been seen on main in the recent window. That is the whole of what is known.
What would make this actionable, for whoever hits it next:
- a second occurrence, with the run and shard, so there is a rate rather than an event
- whether it recurs on the same OS (this one was macOS) or crosses platforms
- the assertion that failed, not just the test name —
test_team.bats:111 is a concurrency test, and
which invariant it lost (a registration dropped? a lock not taken?) narrows it far more than the
fact that it failed
Recording a single observation so the next one can be counted. This is not a flakiness claim —
one failure is not evidence of anything, and calling a test flaky from a count has already cost us a
withdrawn issue this week. It is here so that whoever sees it a second time has a first.
It is not caused by that PR, established three ways rather than assumed:
grep -rln "_wait_pidfile" tests/→tests/test_watch.batsonly. The PR widens that helper'swindow; nothing outside that file can see it.
.github/scripts/shard-tests.sh <i> 4 testsfor i in 1..4 →test_team.batsis in shard 1,test_watch.batsis in shard 4. The changed file and thefailing file are not in the same job.
It is also not currently visible on
main. Checking every failingmainrun in the last ten(
gh run list --workflow tests.yml --branch mainthen--log-failed | grep "not ok "), the failurespresent are the two
#937launcher tests and the pair-release test now correctly naming #983. Thistest does not appear.
So: a concurrency test failed once, on a shard nothing in the PR touches, on a platform, and has not
been seen on
mainin the recent window. That is the whole of what is known.What would make this actionable, for whoever hits it next:
test_team.bats:111is a concurrency test, andwhich invariant it lost (a registration dropped? a lock not taken?) narrows it far more than the
fact that it failed