playbooks: Highlight failures from 'meson compile' and 'meson install'

Currently, 'meson compile' and 'meson install' were being invoked from
pre-run playbooks.  This meant that a genuine build failure from either
of those commands would be shown as a RETRY_LIMIT failure by the CI.

This was misleading.  It made it look as if the failure was caused by
some transient networking problem or that the CI node was too slow due
to momentary heavy load, whereas the failure was actually due to a
problem in the Toolbx sources.  A genuine problem in the sources should
be reflected as a FAILURE, not RETRY_LIMIT.

However, it's worth noting that 'meson compile' invokes 'go build',
which downloads all the Go modules required by the Toolbx sources.  This
is worth retaining in the pre-run playbooks since it primarily depends
on Internet infrastructure beyond the Toolbx sources.

As a nice side-effect, the CI no longer gets mysteriously stuck like
this while the Go modules are being downloaded:
  TASK [Build Toolbox]
  ci-node-36 | ninja: Entering directory
    `/home/zuul-worker/src/github.com/containers/toolbox/builddir'
  ...
  ci-node-36 | [8/13] Generating doc/toolbox-rmi.1 with a custom command
  ci-node-36 | [9/13] Generating doc/toolbox-run.1 with a custom command
  ci-node-36 | [10/13] Generating doc/toolbox.conf.5 with a custom
    command
  ci-node-36 | [11/13] Generating src/toolbox with a custom command

https://github.com/containers/toolbox/pull/1158
This commit is contained in:
Debarshi Ray 2022-11-16 00:44:32 +01:00
parent 9bf9f97e2c
commit 03922893af
5 changed files with 10 additions and 4 deletions

View file

@ -18,6 +18,12 @@
- systemd
- udisks2
- name: Download Go modules
shell: |
go mod download -x
args:
chdir: '{{ zuul.project.src_dir }}/src'
- name: Setup submodules
shell: |
git submodule init

View file

@ -7,5 +7,3 @@
command: meson -Dmigration_path_for_coreos_toolbox=true --fatal-meson-warnings builddir
args:
chdir: '{{ zuul.project.src_dir }}'
- include_tasks: build.yaml

View file

@ -7,5 +7,3 @@
command: meson setup --fatal-meson-warnings builddir
args:
chdir: '{{ zuul.project.src_dir }}'
- include_tasks: build.yaml

View file

@ -1,6 +1,8 @@
---
- hosts: all
tasks:
- include_tasks: build.yaml
- name: Run system tests
command: bats --timing ./test/system
environment:

View file

@ -1,6 +1,8 @@
---
- hosts: all
tasks:
- include_tasks: build.yaml
- name: Test
command: meson test -C builddir
args: