Fix request timeout not failing job
What does this MR do?
Closes #43 (closed)
There are two things swallowing error codes:
- Using
export FOO=$(script)
hides exit codes fromscript
. See https://github.com/koalaman/shellcheck/wiki/SC2155 for a more detailed explanation. - Using
make
which does not support-o pipefail
and a pipe in the failing command.
This is causing VM provisioning issues to not fail the CI job. See line 60 here https://gitlab.com/gitlab-org/ci-cd/shared-runners/images/macstadium/orka/-/jobs/892595223#L60
I'm fixing this by porting the make
code to bash
, to have proper error handling, support readable if statements, and generally be easier and less surprising to work with. Tried to make the most minimal changes, so no refactoring or renaming of things, to ease review.
I'm also removing the automated build retry, as it can leads to amplifying capacity problems, both by creating unnecessary builds and by risking to overload our limited capacity, and reduces the delay before a developer is made aware of the failure.
All in all, this will help in taming our use of our limited capacity and stop leaving VMs running after failed builds