Message ID | 20240206152012.51107-1-michal.orzel@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | automation: Switch yocto-qemux86-64 job to run on x86 | expand |
On Tue, 6 Feb 2024, Michal Orzel wrote: > At the moment, all Yocto jobs run on Arm64 runners. To address CI > capacity issues, move yocto-qemux86-64 job to x86. Reflect the change in > the makefile generating Yocto docker files and fix CONTAINER name > definition that incorrectly expects YOCTO_HOST variable to be set for x86 > container as well, which does not have a platform name appended. > > Signed-off-by: Michal Orzel <michal.orzel@amd.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > I built and pushed a new container to registry. > Pipeline: > https://gitlab.com/xen-project/people/morzel/xen-orzelmichal/-/pipelines/1166227598 > --- > automation/build/yocto/yocto.inc | 6 ++++-- > automation/gitlab-ci/build.yaml | 10 +++------- > 2 files changed, 7 insertions(+), 9 deletions(-) > > diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc > index e4328ec7f378..2f3b1a5b2a34 100644 > --- a/automation/build/yocto/yocto.inc > +++ b/automation/build/yocto/yocto.inc > @@ -18,11 +18,13 @@ YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64 > YOCTO_ARCHS = amd64 arm64v8 > > # Architecture we want to use in gitlab CI (depends on runners arch). > -CI_ARCH = arm64v8 > +CI_ARCH-qemuarm64 = arm64v8 > +CI_ARCH-qemuarm = arm64v8 > +CI_ARCH-qemux86-64 = amd64 > > define GEN_DOCKER > # Make all is generating architecture we use in the CI. > -ifeq ($(CI_ARCH),$(3)) > +ifeq ($(CI_ARCH-$(2)),$(3)) > CONTAINERS += yocto/$(1)-$(2)$(4) > else > CONTAINERS_EXTRA += yocto/$(1)-$(2)$(4) > diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml > index 32af30ccedc9..6d2cb18b8883 100644 > --- a/automation/gitlab-ci/build.yaml > +++ b/automation/gitlab-ci/build.yaml > @@ -213,7 +213,7 @@ > - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT} > variables: > YOCTO_VERSION: kirkstone > - CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST} > + CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}${YOCTO_HOST} > artifacts: > paths: > - 'logs/*' > @@ -224,16 +224,12 @@ > .yocto-test-arm64: > extends: .yocto-test > variables: > - YOCTO_HOST: arm64v8 > + YOCTO_HOST: -arm64v8 > tags: > - arm64 > > -# This is not used by any test job as we only run Yocto on arm based machines. > -# Keep it here so that someone having x86 hardware can easily add jobs. > .yocto-test-x86-64: > extends: .yocto-test > - variables: > - YOCTO_HOST: amd64 > tags: > - x86_64 > > @@ -576,7 +572,7 @@ yocto-qemuarm: > YOCTO_OUTPUT: --copy-output > > yocto-qemux86-64: > - extends: .yocto-test-arm64 > + extends: .yocto-test-x86-64 > variables: > YOCTO_BOARD: qemux86-64 > > -- > 2.25.1 >
diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc index e4328ec7f378..2f3b1a5b2a34 100644 --- a/automation/build/yocto/yocto.inc +++ b/automation/build/yocto/yocto.inc @@ -18,11 +18,13 @@ YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64 YOCTO_ARCHS = amd64 arm64v8 # Architecture we want to use in gitlab CI (depends on runners arch). -CI_ARCH = arm64v8 +CI_ARCH-qemuarm64 = arm64v8 +CI_ARCH-qemuarm = arm64v8 +CI_ARCH-qemux86-64 = amd64 define GEN_DOCKER # Make all is generating architecture we use in the CI. -ifeq ($(CI_ARCH),$(3)) +ifeq ($(CI_ARCH-$(2)),$(3)) CONTAINERS += yocto/$(1)-$(2)$(4) else CONTAINERS_EXTRA += yocto/$(1)-$(2)$(4) diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index 32af30ccedc9..6d2cb18b8883 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -213,7 +213,7 @@ - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD} ${YOCTO_OUTPUT} variables: YOCTO_VERSION: kirkstone - CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST} + CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}${YOCTO_HOST} artifacts: paths: - 'logs/*' @@ -224,16 +224,12 @@ .yocto-test-arm64: extends: .yocto-test variables: - YOCTO_HOST: arm64v8 + YOCTO_HOST: -arm64v8 tags: - arm64 -# This is not used by any test job as we only run Yocto on arm based machines. -# Keep it here so that someone having x86 hardware can easily add jobs. .yocto-test-x86-64: extends: .yocto-test - variables: - YOCTO_HOST: amd64 tags: - x86_64 @@ -576,7 +572,7 @@ yocto-qemuarm: YOCTO_OUTPUT: --copy-output yocto-qemux86-64: - extends: .yocto-test-arm64 + extends: .yocto-test-x86-64 variables: YOCTO_BOARD: qemux86-64
At the moment, all Yocto jobs run on Arm64 runners. To address CI capacity issues, move yocto-qemux86-64 job to x86. Reflect the change in the makefile generating Yocto docker files and fix CONTAINER name definition that incorrectly expects YOCTO_HOST variable to be set for x86 container as well, which does not have a platform name appended. Signed-off-by: Michal Orzel <michal.orzel@amd.com> --- I built and pushed a new container to registry. Pipeline: https://gitlab.com/xen-project/people/morzel/xen-orzelmichal/-/pipelines/1166227598 --- automation/build/yocto/yocto.inc | 6 ++++-- automation/gitlab-ci/build.yaml | 10 +++------- 2 files changed, 7 insertions(+), 9 deletions(-)