ci: ci_marge_queue.py
Goal: over the "night" (quotes because we're all in multiple timezones) can be Marge not utilized, so it's a much better opportunity to run stress testing or push multiple tests without interfering with daily usage. This script should help with that.
Currently, it's elementary, but it can do good already, so here it's.
Show currently assigned MRs to Marge and return 0 when it's free.
When run without --wait
, it returns the number of assigned MRs as a return code.
Useful for combination with ci_run_n_monitor.py (especially --stress).
Usage example:
$.gitlab-ci/bin/marge_queue.py --wait && .gitlab-ci/bin/ci_run_n_monitor.py --rev $(git rev-parse HEAD) --target "zink-freedreno-a630-traces$" --stress
CI job waiting: 8
Also has nice monitoring abilities (how many minutes back is MR updated and MR title):
TODO:
- the name of the script
- do not spam with
CI job waiting:
but probably rewrite the same line repeatedly (no reason to keep historical data in the terminal).