On Tue, Jul 13, 2021 at 11:25:21AM +0100, Peter Maydell wrote: > On Mon, 12 Jul 2021 at 16:02, Philippe Mathieu-Daudé <phi...@redhat.com> > wrote: > > > > The following changes since commit bd38ae26cea0d1d6a97f930248df149204c210a2: > > > > Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-tcg-20210710' > > into staging (2021-07-12 11:02:39 +0100) > > > > are available in the Git repository at: > > > > https://github.com/philmd/qemu.git tags/fw-edk2-20210712 > > > > for you to fetch changes up to d1e79210457323b225c369fa00e97577e0d0da95: > > > > MAINTAINERS: remove Laszlo Ersek's entries (2021-07-12 16:55:23 +0200) > > > > ---------------------------------------------------------------- > > Patches related to EDK2/OVMF > > > > - MAINTAINERS: remove Laszlo Ersek's entries > > - Introduce X86_FW_OVMF Kconfig symbol > > - pc_system_ovmf_table_find: Assert that flash was parsed, document > > > > ---------------------------------------------------------------- > > So, even though this pullreq doesn't seem to be changing gitlab CI > config, I get a "yaml invalid" failure in the pipeline: > https://gitlab.com/qemu-project/qemu/-/pipelines/335995843 > > "'build-edk2' job needs 'docker-edk2' job but it was not added to the > pipeline" > > Any ideas what that's about?
The rules for these two jobs are not compatible with the depedency declared between them. The docker-edk2 job is set to exist only when edk2.yml or Dockerfile are changed: docker-edk2: stage: containers rules: # Only run this job when the Dockerfile is modified - changes: - .gitlab-ci.d/edk2.yml - .gitlab-ci.d/edk2/Dockerfile when: always The build-edk2 job is set to exist based on a wide variety of changes build-edk2: stage: build needs: ['docker-edk2'] rules: # Only run this job when ... - changes: # ... roms/edk2/ is modified (submodule updated) - roms/edk2/* when: always - if: '$CI_COMMIT_REF_NAME =~ /^edk2/' # or the branch/tag starts with 'edk2' when: always - if: '$CI_COMMIT_MESSAGE =~ /edk2/i' # or last commit description contains 'EDK2' when: always If those jobs were independant those different sets of conditions would be ok. The build-edk2 job, however, has a 'needs' clause adding a depdancy on 'docker-edk2'. Given this dependancy, in *EVERY* scenario were 'build-edk2' job exists, the 'docker-edk2' job *MUST* also exist. This isn't the case, hence the failed pipeline. This can be fixed by taking the 'rules' from 'build-edk2' and also applying them to 'docker-edk2'. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|