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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).