My team is using public bors-ng with Cirrus-CI, which posts to the newer github checks API. I setup my CI task names and confirmed with API calls what was actually used in the check-run JSON. For example, my
bors.toml might say:
status = [ "cirrus-ci/lint%", "cirrus-ci/test%", ]
There's a matrix feature in Cirrus-CI, whereby it will append the distinguishing axis elements to the end of the name. For example, a snip from
.cirrus.yml might include:
... 'cirrus-ci/test_task': env: matrix: blah: foo blah: bar ...
This would result in two tasks, one named
cirrus-ci/test blah=foo and another named
cirrus-ci/test blah=bar. These are also the names used in the checks JSON. However I noticed that bors-ng ignores wildcard matches beyond the first (whichever that happens to be).
For example, (using the tasks from the yaml above) if the
foo task was successful (and sorted first in the JSON) but the
bar task failed, bors posts:
- cirrus-ci/test blah=foo
Which is completely a bad, awful, horrible, false-positive since
cirrus-ci/test blah=bar actually failed. I am presuming this is a bug given this seems likely to be undesirable behavior.