[libvirt PATCH v2 6/9] gitlab: add x86_64 native CI jobs
Erik Skultety
eskultet at redhat.com
Wed Mar 25 08:29:42 UTC 2020
On Tue, Mar 24, 2020 at 04:24:02PM +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.
>
> To control the total CI execution time, we split the native jobs into
> two distinct stages. A representative set of distros are used as the
> primary native build sanity test, run for everyone regardless of whether
> pre/post merge, and on any branch. The remaining distros are set to run
> after the cross builds, and only execute for master branch, and thus
> will only run for post-merge. When we switch to using a merge request
> workflow, these extra jobs can be triggered when the merge request is
> opened.
>
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
> .gitlab-ci.yml | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 78 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 329374a34f..58abcbe1f3 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -1,6 +1,34 @@
> stages:
> - prebuild
> + - native_build
> - cross_build
> + - native_build_extra
> +
> +
> +# Common templates
> +
> +# Native jobs that run every time, pre/post merge and on any branch
> +.native_build_job_template: &native_build_job_definition
> + stage: native_build
> + script:
> + - mkdir build
> + - cd build
> + - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
> + - make -j $(getconf _NPROCESSORS_ONLN) syntax-check
> + - make -j $(getconf _NPROCESSORS_ONLN) distcheck
> +
> +# Native jobs that will only run post merge on master branch
> +# Switch to running against merge requests later
> +.native_build_extra_job_template: &native_build_extra_job_definition
> + stage: native_build_extra
> + script:
> + - mkdir build
> + - cd build
> + - ../autogen.sh $CONFIGURE_OPTS || (cat config.log && exit 1)
> + - $MAKE -j $(getconf _NPROCESSORS_ONLN) check
> + only:
> + refs:
> + - master
only:
- master
would be enough, or is there a special need for the "refs" keyword?
Erik
More information about the libvir-list
mailing list