On Tue, Feb 23, 2021 at 04:17:23PM +0100, Philippe Mathieu-Daudé wrote: > On 2/19/21 10:58 PM, Cleber Rosa wrote: > > The QEMU project has two machines (aarch64 and s390x) that can be used > > for jobs that do build and run tests. This introduces those jobs, > > which are a mapping of custom scripts used for the same purpose. > > > > Signed-off-by: Cleber Rosa <cr...@redhat.com> > > Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> > > --- > > .gitlab-ci.d/custom-runners.yml | 204 ++++++++++++++++++++++++++++++++ > > 1 file changed, 204 insertions(+) > > > > diff --git a/.gitlab-ci.d/custom-runners.yml > > b/.gitlab-ci.d/custom-runners.yml > > index 3004da2bda..a9166c82a2 100644 > > --- a/.gitlab-ci.d/custom-runners.yml > > +++ b/.gitlab-ci.d/custom-runners.yml > > @@ -12,3 +12,207 @@ > > # strategy. > > variables: > > GIT_SUBMODULE_STRATEGY: recursive > > + > > +# All ubuntu-18.04 jobs should run successfully in an environment > > +# setup by the scripts/ci/setup/build-environment.yml task > > +# "Install basic packages to build QEMU on Ubuntu 18.04/20.04" > > +ubuntu-18.04-s390x-all-linux-static: > > + allow_failure: true > > + needs: [] > > + stage: build > > + tags: > > + - ubuntu_18.04 > > + - s390x > > Where is this tag list filled upon registration? > > > + rules: > > + - if: '$CI_COMMIT_BRANCH =~ /^staging/' > > + script: > > + # --disable-libssh is needed because of > > https://bugs.launchpad.net/qemu/+bug/1838763 > > + # --disable-glusterfs is needed because there's no static version of > > those libs in distro supplied packages > > + - mkdir build > > + - cd build > > + - ../configure --enable-debug --static --disable-system > > --disable-glusterfs --disable-libssh > > + - make --output-sync -j`nproc` > > + - make --output-sync -j`nproc` check V=1 > > + - make --output-sync -j`nproc` check-tcg V=1 > > Also this break the rest of the tests... > > The first containers job (amd64-alpine-container) got > added to the custom runner and failed (because docker-dind > isn't there?):
Urgh, well that's a big problem. We certainly don't want *anything* being placed on the custom runners without explicit opt-in, otherwise jobs run in the main repo have a different environment from when users run on their personal forks. IOW, we need anti-affinity against our custom runners really. > $ export TAG="$CI_REGISTRY_IMAGE/qemu/$NAME:latest" > $ export COMMON_TAG="$CI_REGISTRY/qemu-project/qemu/$NAME:latest" > $ apk add python3 > bash: line 110: apk: command not found > Running after_script 00:01 > Running after script... > $ docker logout > Removing login credentials for https://index.docker.io/v1/ > ERROR: Job failed: exit status 1 > > Do we need to restrict the other jobs to the Gitlab public > (x86) runners? Maybe as: > > diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml > @@ -1,6 +1,6 @@ > .container_job_template: &container_job_definition > + tags: > + - gitlab-org-docker Is that a real tag that exists on gitlab's shared runners, or something you just invented ? > image: docker:stable > stage: containers > services: > > Daniel, you didn't hit this problem on the previous version > of this series? I didn't try actually executing previous postings of this series. 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 :|