From: "Daniel P. Berrangé" <berrange@redhat.com>
To: Wainer dos Santos Moschetta <wainersm@redhat.com>
Cc: "Thomas Huth" <thuth@redhat.com>, "Ed Maste" <emaste@freebsd.org>,
qemu-devel@nongnu.org, "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
"Willian Rampazzo" <willianr@redhat.com>,
"Yonggang Luo" <luoyonggang@gmail.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
"Li-Wen Hsu" <lwhsu@freebsd.org>
Subject: Re: [PATCH 2/3] gitlab: support for FreeBSD 12, 13 and macOS 11 via cirrus-run
Date: Wed, 30 Jun 2021 21:35:21 +0100 [thread overview]
Message-ID: <YNzViRJ1S4G0U5tG@redhat.com> (raw)
In-Reply-To: <ead03192-5ec8-f53e-34d2-4e3a0275f3a8@redhat.com>
On Wed, Jun 30, 2021 at 03:58:57PM -0300, Wainer dos Santos Moschetta wrote:
> Hi,
>
> On 6/25/21 2:22 PM, Daniel P. Berrangé wrote:
> > This adds support for running 4 jobs via Cirrus CI runners:
> >
> > * FreeBSD 12
> > * FreeBSD 13
> > * macOS 11 with default XCode
> > * macOS 11 with latest XCode
> >
> > The gitlab job uses a container published by the libvirt-ci
> > project (https://gitlab.com/libvirt/libvirt-ci) that contains
> > the 'cirrus-run' command. This accepts a short yaml file that
> > describes a single Cirrus CI job, runs it using the Cirrus CI
> > REST API, and reports any output to the console.
> >
> > In this way Cirrus CI is effectively working as an indirect
> > custom runner for GitLab CI pipelines. The key benefit is that
> > Cirrus CI job results affect the GitLab CI pipeline result and
> > so the user only has look at one CI dashboard.
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> > .gitlab-ci.d/cirrus.yml | 103 ++++++++++++++++++++++++++++
> > .gitlab-ci.d/cirrus/README.rst | 54 +++++++++++++++
> > .gitlab-ci.d/cirrus/build.yml | 35 ++++++++++
> > .gitlab-ci.d/cirrus/freebsd-12.vars | 13 ++++
> > .gitlab-ci.d/cirrus/freebsd-13.vars | 13 ++++
> > .gitlab-ci.d/cirrus/macos-11.vars | 15 ++++
> > .gitlab-ci.d/qemu-project.yml | 1 +
> > 7 files changed, 234 insertions(+)
> > create mode 100644 .gitlab-ci.d/cirrus.yml
> > create mode 100644 .gitlab-ci.d/cirrus/README.rst
> > create mode 100644 .gitlab-ci.d/cirrus/build.yml
> > create mode 100644 .gitlab-ci.d/cirrus/freebsd-12.vars
> > create mode 100644 .gitlab-ci.d/cirrus/freebsd-13.vars
> > create mode 100644 .gitlab-ci.d/cirrus/macos-11.vars
> >
> > diff --git a/.gitlab-ci.d/cirrus.yml b/.gitlab-ci.d/cirrus.yml
> > new file mode 100644
> > index 0000000000..d7b4cce79b
> > --- /dev/null
> > +++ b/.gitlab-ci.d/cirrus.yml
> > @@ -0,0 +1,103 @@
> > +# Jobs that we delegate to Cirrus CI because they require an operating
> > +# system other than Linux. These jobs will only run if the required
> > +# setup has been performed on the GitLab account.
> > +#
> > +# The Cirrus CI configuration is generated by replacing target-specific
> > +# variables in a generic template: some of these variables are provided
> > +# when the GitLab CI job is defined, others are taken from a shell
> > +# snippet generated using lcitool.
> > +#
> > +# Note that the $PATH environment variable has to be treated with
> > +# special care, because we can't just override it at the GitLab CI job
> > +# definition level or we risk breaking it completely.
> > +.cirrus_build_job:
> > + stage: build
> > + image: registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
> > + needs: []
> > + script:
> > + - source .gitlab-ci.d/cirrus/$NAME.vars
> > + - sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
> > + -e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
> > + -e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
> > + -e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g"
> > + -e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g"
> > + -e "s|[@]CIRRUS_VM_IMAGE_NAME@|$CIRRUS_VM_IMAGE_NAME|g"
> > + -e "s|[@]CIRRUS_VM_CPUS@|$CIRRUS_VM_CPUS|g"
> > + -e "s|[@]CIRRUS_VM_RAM@|$CIRRUS_VM_RAM|g"
> > + -e "s|[@]UPDATE_COMMAND@|$UPDATE_COMMAND|g"
> > + -e "s|[@]INSTALL_COMMAND@|$INSTALL_COMMAND|g"
> > + -e "s|[@]PATH@|$PATH_EXTRA${PATH_EXTRA:+:}\$PATH|g"
> > + -e "s|[@]PKG_CONFIG_PATH@|$PKG_CONFIG_PATH|g"
> > + -e "s|[@]PKGS@|$PKGS|g"
> > + -e "s|[@]MAKE@|$MAKE|g"
> > + -e "s|[@]PYTHON@|$PYTHON|g"
> > + -e "s|[@]PIP3@|$PIP3|g"
> > + -e "s|[@]PYPI_PKGS@|$PYPI_PKGS|g"
> > + -e "s|[@]CONFIGURE_ARGS@|$CONFIGURE_ARGS|g"
> > + -e "s|[@]TEST_TARGETSS@|$TEST_TARGETSS|g"
> > + <.gitlab-ci.d/cirrus/build.yml >.gitlab-ci.d/cirrus/$NAME.yml
> > + - cat .gitlab-ci.d/cirrus/$NAME.yml
> > + - cirrus-run -v --show-build-log always .gitlab-ci.d/cirrus/$NAME.yml
> > + rules:
> > + - if: "$TEMPORARILY_DISABLED"
>
> Reading 'TEMPORARILY_DISABLED' I immediately think the job is malfunctioning
> or under maintenance.
Actually this is cruft that I mistakenly copied from libvirt's rules.
> But since the plan is to keep it running as 'non-gate' until it proves
> reliable, so maybe you could rename the variable to 'NON_GATE' or
> 'STAGING_JOB' (i.e. some words to better express the intent).
We can just remove the 'if $TEMPORARILY_DISABLED' bit and
have only the 'allow_failure: true' bit
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 :|
next prev parent reply other threads:[~2021-06-30 20:36 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-25 17:22 [PATCH 0/3] ci: use cirrus-run to utilize Cirrus CI from GitLab CI Daniel P. Berrangé
2021-06-25 17:22 ` [PATCH 1/3] build: validate that system capstone works before using it Daniel P. Berrangé
2021-06-28 6:54 ` Thomas Huth
2021-06-30 20:54 ` Willian Rampazzo
2021-07-05 12:06 ` Alex Bennée
2021-06-25 17:22 ` [PATCH 2/3] gitlab: support for FreeBSD 12, 13 and macOS 11 via cirrus-run Daniel P. Berrangé
2021-06-28 7:28 ` Thomas Huth
2021-06-28 8:33 ` Daniel P. Berrangé
2021-06-30 18:58 ` Wainer dos Santos Moschetta
2021-06-30 20:35 ` Daniel P. Berrangé [this message]
2021-07-05 10:35 ` Alex Bennée
2021-06-25 17:22 ` [PATCH 3/3] cirrus: delete FreeBSD and macOS jobs Daniel P. Berrangé
2021-06-28 7:29 ` Thomas Huth
2021-06-30 19:00 ` Wainer dos Santos Moschetta
2021-06-30 20:52 ` Willian Rampazzo
2021-06-28 7:34 ` [PATCH 0/3] ci: use cirrus-run to utilize Cirrus CI from GitLab CI Thomas Huth
2021-06-28 8:28 ` Daniel P. Berrangé
2021-07-05 10:32 ` Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YNzViRJ1S4G0U5tG@redhat.com \
--to=berrange@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=emaste@freebsd.org \
--cc=f4bug@amsat.org \
--cc=luoyonggang@gmail.com \
--cc=lwhsu@freebsd.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
--cc=willianr@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.