Two notable changes:
* the macOS platform has switched from x86_64 to aarch64
* if a new pipeline starts before a previous one finishes,
jobs marked 'interruptible: true' will be auto-cancelled
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
NB: the macOS changes are pending on approval of:
https://gitlab.com/libvirt/libvirt-ci/-/merge_requests/333
ci/gitlab.yml | 1 +
ci/gitlab/build-templates.yml | 37 ++++++++++++++++++-------------
ci/gitlab/builds.yml | 6 ++---
ci/gitlab/container-templates.yml | 1 +
ci/gitlab/sanity-checks.yml | 1 +
ci/manifest.yml | 2 +-
6 files changed, 28 insertions(+), 20 deletions(-)
diff --git a/ci/gitlab.yml b/ci/gitlab.yml
index bdc5e0a96f..3866dcf545 100644
--- a/ci/gitlab.yml
+++ b/ci/gitlab.yml
@@ -67,6 +67,7 @@ workflow:
debug:
image: docker.io/library/alpine:3
stage: sanity_checks
+ interruptible: true
needs: []
script:
- printenv | sort
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
index 5d7d6c59c5..259cf2b173 100644
--- a/ci/gitlab/build-templates.yml
+++ b/ci/gitlab/build-templates.yml
@@ -9,14 +9,14 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
-# - Validating patches targetting default upstream branch
+# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
-# - Validating patches targetting a non-default upstream branch
-# - Validating patches targetting default upstream branch which
+# - Validating patches targeting a non-default upstream branch
+# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
@@ -26,6 +26,7 @@
.gitlab_native_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME:latest
stage: builds
+ interruptible: true
before_script:
- cat /packages.txt
rules:
@@ -36,14 +37,14 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH ==
$CI_DEFAULT_BRANCH'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting the default branch
+ # upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME ==
$CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME ==
$CI_DEFAULT_BRANCH'
when: on_success
- # upstream+forks: merge requests targetting the default branch, without CI changes
+ # upstream+forks: merge requests targeting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
@@ -61,6 +62,7 @@
.gitlab_native_build_job_local_env:
image: $IMAGE
stage: builds
+ interruptible: true
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
@@ -79,7 +81,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting non-default branches
+ # upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=
$CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -93,7 +95,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
- # upstream+forks: merge requests targetting the default branch, with CI changes
+ # upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
@@ -106,7 +108,7 @@
- ci/containers/$NAME.Dockerfile
when: on_success
- # upstream+forks: merge requests targetting non-default branches
+ # upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -121,14 +123,14 @@
# We use pre-built containers for any pipelines that are:
#
# - Validating code committed on default upstream branch
-# - Validating patches targetting default upstream branch
+# - Validating patches targeting default upstream branch
# which do not have CI changes
#
# We use a local build env for any pipelines that are:
#
# - Validating code committed to a non-default upstream branch
-# - Validating patches targetting a non-default upstream branch
-# - Validating patches targetting default upstream branch which
+# - Validating patches targeting a non-default upstream branch
+# - Validating patches targeting default upstream branch which
# include CI changes
# - Validating code committed to a fork branch
#
@@ -138,6 +140,7 @@
.gitlab_cross_build_job_prebuilt_env:
image: $CI_REGISTRY/$RUN_UPSTREAM_NAMESPACE/libvirt/ci-$NAME-cross-$CROSS:latest
stage: builds
+ interruptible: true
before_script:
- cat /packages.txt
rules:
@@ -148,14 +151,14 @@
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH ==
$CI_DEFAULT_BRANCH'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting the default branch
+ # upstream: other web/api/scheduled pipelines targeting the default branch
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME ==
$CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME ==
$CI_DEFAULT_BRANCH'
when: on_success
- # upstream+forks: merge requests targetting the default branch, without CI changes
+ # upstream+forks: merge requests targeting the default branch, without CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
@@ -173,6 +176,7 @@
.gitlab_cross_build_job_local_env:
image: $IMAGE
stage: builds
+ interruptible: true
before_script:
- source ci/buildenv/$NAME.sh
- install_buildenv
@@ -191,7 +195,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE == "push" && $RUN_PIPELINE'
when: on_success
- # upstream: other web/api/scheduled pipelines targetting non-default branches
+ # upstream: other web/api/scheduled pipelines targeting non-default branches
- if: '$CI_PROJECT_NAMESPACE == $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/ && $CI_COMMIT_REF_NAME !=
$CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -205,7 +209,7 @@
- if: '$CI_PROJECT_NAMESPACE != $RUN_UPSTREAM_NAMESPACE &&
$CI_PIPELINE_SOURCE =~ /(web|api|schedule)/'
when: on_success
- # upstream+forks: merge requests targetting the default branch, with CI changes
+ # upstream+forks: merge requests targeting the default branch, with CI changes
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
@@ -218,7 +222,7 @@
- ci/containers/$NAME.Dockerfile
when: on_success
- # upstream+forks: merge requests targetting non-default branches
+ # upstream+forks: merge requests targeting non-default branches
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" &&
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME != $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
allow_failure: true
@@ -232,6 +236,7 @@
.cirrus_build_job:
stage: builds
image:
registry.gitlab.com/libvirt/libvirt-ci/cirrus-run:master
+ interruptible: true
needs: []
script:
- source ci/cirrus/$NAME.vars
diff --git a/ci/gitlab/builds.yml b/ci/gitlab/builds.yml
index e2f2f39320..0e2daebe97 100644
--- a/ci/gitlab/builds.yml
+++ b/ci/gitlab/builds.yml
@@ -860,14 +860,14 @@ x86_64-freebsd-13:
UPGRADE_COMMAND: pkg upgrade -y
-x86_64-macos-12:
+aarch64-macos-12:
extends: .cirrus_build_job
needs: []
allow_failure: false
variables:
- CIRRUS_VM_IMAGE_NAME: monterey-base
+ CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-monterey-base:latest
CIRRUS_VM_IMAGE_SELECTOR: image
- CIRRUS_VM_INSTANCE_TYPE: osx_instance
+ CIRRUS_VM_INSTANCE_TYPE: macos_instance
INSTALL_COMMAND: brew install
NAME: macos-12
PATH_EXTRA:
/usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
diff --git a/ci/gitlab/container-templates.yml b/ci/gitlab/container-templates.yml
index a577028d11..edb4aba676 100644
--- a/ci/gitlab/container-templates.yml
+++ b/ci/gitlab/container-templates.yml
@@ -16,6 +16,7 @@
.container_job:
image: docker:stable
stage: containers
+ interruptible: false
needs: []
services:
- docker:dind
diff --git a/ci/gitlab/sanity-checks.yml b/ci/gitlab/sanity-checks.yml
index f843c7f708..cdcfb9bf91 100644
--- a/ci/gitlab/sanity-checks.yml
+++ b/ci/gitlab/sanity-checks.yml
@@ -9,6 +9,7 @@ check-dco:
stage: sanity_checks
needs: []
image:
registry.gitlab.com/libvirt/libvirt-ci/check-dco:master
+ interruptible: true
script:
- /check-dco "$RUN_UPSTREAM_NAMESPACE"
rules:
diff --git a/ci/manifest.yml b/ci/manifest.yml
index 865a82a4a9..2aec92dd26 100644
--- a/ci/manifest.yml
+++ b/ci/manifest.yml
@@ -175,7 +175,7 @@ targets:
macos-12:
jobs:
- - arch: x86_64
+ - arch: aarch64
variables:
PATH_EXTRA:
/usr/local/opt/ccache/libexec:/usr/local/opt/gettext/bin:/usr/local/opt/libpcap/bin:/usr/local/opt/libxslt/bin:/usr/local/opt/rpcgen/bin
PKG_CONFIG_PATH:
/usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/libpcap/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/ncurses/lib/pkgconfig:/usr/local/opt/readline/lib/pkgconfig
--
2.37.3