[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 0/3] Yocto Gitlab CI
On Mon, 17 Oct 2022, Stefano Stabellini wrote: > It should be > > BB_NUMBER_THREADS="2" > > but that worked! Let me a couple of more tests. I could run successfully a Yocto build test with qemuarm64 as target in gitlab-ci, hurray! No size issues, no build time issues, everything was fine. See: https://gitlab.com/xen-project/people/sstabellini/xen/-/jobs/3193051236 https://gitlab.com/xen-project/people/sstabellini/xen/-/jobs/3193083119 I made the appended changes in top of this series. - I pushed registry.gitlab.com/xen-project/xen/yocto:kirkstone and registry.gitlab.com/xen-project/xen/yocto:kirkstone-qemuarm64 - for the gitlab-ci runs, we need to run build-yocto.sh from the copy in xen.git, not from a copy stored inside a container - when building the kirkstone-qemuarm64 container the first time (outside of gitlab-ci) I used COPY and took the script from the local xen.git tree - after a number of tests, I settled on: BB_NUMBER_THREADS="8" more than this and it breaks on some workstations, please add it - I am running the yocto build on arm64 so that we can use the arm64 hardware to do it in gitlab-ci Please feel free to incorporate these changes in your series, and add corresponding changes for the qemuarm32 and qemux86 targets. I am looking forward to it! Almost there! Cheers, Stefano diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh index 0d31dad607..16f1dcc0a5 100755 --- a/automation/build/yocto/build-yocto.sh +++ b/automation/build/yocto/build-yocto.sh @@ -107,6 +107,9 @@ IMAGE_INSTALL:append:pn-xen-image-minimal = " ssh-pregen-hostkeys" # Save some disk space INHERIT += "rm_work" +# Reduce number of jobs +BB_NUMBER_THREADS="8" + EOF if [ "${do_localsrc}" = "y" ]; then diff --git a/automation/build/yocto/kirkstone-qemuarm64.dockerfile b/automation/build/yocto/kirkstone-qemuarm64.dockerfile index f279a7af92..aea3fc1f3e 100644 --- a/automation/build/yocto/kirkstone-qemuarm64.dockerfile +++ b/automation/build/yocto/kirkstone-qemuarm64.dockerfile @@ -16,7 +16,8 @@ ARG target=qemuarm64 # This step can take one to several hours depending on your download bandwith # and the speed of your computer -RUN /home/$USER_NAME/bin/build-yocto.sh --dump-log $target +COPY ./build-yocto.sh / +RUN /build-yocto.sh --dump-log $target FROM $from_image diff --git a/automation/build/yocto/kirkstone.dockerfile b/automation/build/yocto/kirkstone.dockerfile index 367a7863b6..ffbd91aa90 100644 --- a/automation/build/yocto/kirkstone.dockerfile +++ b/automation/build/yocto/kirkstone.dockerfile @@ -84,9 +84,6 @@ RUN mkdir -p /home/$USER_NAME/yocto-layers \ /home/$USER_NAME/xen && \ chown $USER_NAME.$USER_NAME /home/$USER_NAME/* -# Copy the build script -COPY build-yocto.sh /home/$USER_NAME/bin/ - # clone yocto repositories we need ARG yocto_version="kirkstone" RUN for rep in \ diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml index ddc2234faf..4b8bcde252 100644 --- a/automation/gitlab-ci/build.yaml +++ b/automation/gitlab-ci/build.yaml @@ -584,6 +584,22 @@ alpine-3.12-gcc-arm64-boot-cpupools: EXTRA_XEN_CONFIG: | CONFIG_BOOT_TIME_CPUPOOLS=y +yocto-kirkstone-qemuarm64: + stage: build + image: registry.gitlab.com/xen-project/xen/${CONTAINER} + script: + - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` qemuarm64 + variables: + CONTAINER: yocto:kirkstone-qemuarm64 + artifacts: + paths: + - '*.log' + - '*/*.log' + - 'logs/*' + when: always + tags: + - arm64 + ## Test artifacts common .test-jobs-artifact-common:
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |