[libvirt PATCH v3 08/12] gitlab: add x86_64 native CI jobs
Erik Skultety
eskultet at redhat.com
Thu Mar 26 16:31:48 UTC 2020
On Thu, Mar 26, 2020 at 12:35:34PM +0000, Daniel P. Berrangé wrote:
> This patch adds x86_64 native CI jobs for all distros that we currently
> build container images for. This is a superset of the Linux jobs run on
> current Jenkins and Travis platforms.
>
> The remaining missing platforms are FreeBSD and macOS, neither of which
> can use the shared runner container based infrastructure.
>
> We may add further native jobs in the future which are not x86_64 based,
> if we get access to suitable hardware, thus the jobs all have an arch
> prefix in their name, just like the cross-built jobs do.
>
> As with the cross-arch builds, the native jobs are split into two
> groups. One group is run in all situations, while the other group is
> only run on the master branch, or branches with a name prefix
> 'ci-extra-'. This avoids the build time getting too long when
> developers are testing their code prior to submission, while keeping
> full coverage of code that is merged.
>
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
> .gitlab-ci.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 70 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 631c447793..85ab8424e1 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -4,9 +4,30 @@ variables:
>
> stages:
> - prebuild
> + - native_build
> - cross_build
>
>
> +# Common templates
> +
> +# Default native build jobs that are always run
> +.native_build_default_job_template: &native_build_default_job_definition
> + stage: native_build
> + script:
> + - mkdir build
> + - cd build
> + - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
> + - $MAKE -j $(getconf _NPROCESSORS_ONLN) distcheck
> +
> +# Extra native build jobs that are only run post-merge, or
> +# when code is pushed to a branch with "ci-extra-" name prefix
> +.native_build_extra_job_template: &native_build_extra_job_definition
> + <<: *native_build_default_job_definition
> + only:
> + - master
> + - /^ci-extra-.*$/
As Andrea commented a few patches back, ci-full is probably a better prefix.
> +
> +
> # Default cross build jobs that are always run
> .cross_build_default_job_template: &cross_build_default_job_definition
> stage: cross_build
> @@ -25,6 +46,55 @@ stages:
> - /^ci-extra-.*$/
>
>
> +# Native architecture build + test jobs
> +
> +x64-debian-9:
> + <<: *native_build_extra_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-debian-9:latest
> +
> +x64-debian-10:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-debian-10:latest
> +
> +x64-debian-sid:
> + <<: *native_build_extra_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-debian-sid:latest
> +
> +x64-centos-7:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-centos-7:latest
> +
> +x64-centos-8:
> + <<: *native_build_extra_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-centos-8:latest
Shouldn't we actually prefer the newer distros over the older ones in terms of
what runs on all branches vs what runs only on master + a dedicated ci-
prefixed branch? At least that makes much more sense to from the upstream POV.
Everything else is just a nice to have.
> +
> +x64-fedora-30:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-fedora-30:latest
> +
> +x64-fedora-31:
> + <<: *native_build_extra_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-fedora-31:latest
Same here...
> +
> +x64-fedora-rawhide:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-fedora-rawhide:latest
> +
> +x64-opensuse-151:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-opensuse-151:latest
> +
> +x64-ubuntu-1604:
> + <<: *native_build_default_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-ubuntu-1604:latest
> +
> +x64-ubuntu-1804:
> + <<: *native_build_extra_job_definition
> + image: quay.io/libvirt/buildenv-libvirt-ubuntu-1804:latest
...and here...
With the distro versions swapped across the job definitions:
Reviewed-by: Erik Skultety <eskultet at redhat.com>
More information about the libvir-list
mailing list