From time to time it happens that some of the distros for which we run
our
pipelines break (or the images we pull break). Because we don't have
dedicated
maintainers for the jobs/runners, we can only employ the best effort approach
wrt to making the pipeline green again when we're positive the problem doesn't
lie in libvirt.
For jobs that are broken for quite some time we should opt to disable them
unconditionally unless a volunteer dedicates the time to either fix it or the
matter gets fixed on its own in time (e.g. updated container images).
Since v1:
- as per the review discussion, I converted the 'only/except' syntax to t=
he
'rules' syntax which allows us to use better control of the
'allow_failure' attribute, thus allowing us to wrap it with an explicit
env variable
- since I'm already converting syntax to something more modern I tossed in
a patch converting template anchors to the 'extends' attribute
In the pipeline below I explicitly let one of the container jobs to fail
to demonstrate "when:on_success" for the build jobs. I also overrode the
script with "exit 1" for one of the builds along with using the introduced
env variable to demonstrate the soft failure for broken jobs.
/https://gitlab.com/eskultety/libvirt/-/pipelines/241578661
Erik Skultety (3):
gitlab-ci.yml: Replace template anchors with extends
gitlab-ci.yml: Convert only/except to the rules syntax
gitlab-ci.yml: Add an explicit env variable to mark a job as broken
.gitlab-ci.yml | 160 +++++++++++++++++++++++++------------------------
1 file changed, 82 insertions(+), 78 deletions(-)
--=20
2.29.2