- process recursive builds
- fail on any non-pass state. This should not be run if something is still running. We consider skipped and other non-passed states as failures in assumption that if build is skipped due to a new build running we will get a new update soon enough.
- report all failed tests and all failed jobs linkss. Not sure if that would be too verbose.
For #438, #445
There are multiple scenarios when script expects to see same branches
and commits. E.g. when upstream commits to release branch trigger
the build.
Reported by Louis Dionne.
Now "report" step combines result in a uniform way and processes unit test
results XML output. It works for sub-builds only started from the 'premerge'
pipeline, i.e. non-recursive. One downside is that now one has to wait until
all jobs have finished.
- Add instructions to setup python environment
- added option to do full report cycle but not call Phabricator
- use "annotations" to show build status. That lifts the need to filter ninja
and other output (thus `ph_no_filter_output` param removed) and output
everything. That is nice as script failures no longer lead to loss of logs.
- improved annotate() usability
- misc fixes
Previous approach had drawbacks:
- every step had to implement exporting of results in fixed format
- if step failed then failure will not be detected
Now report step will fetch results directly from Buildkite.
Agents have to be updated to have BUILDKITE_API_TOKEN env.