[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