[PATCH 2/3] automation: add binaries/ to artifacts for Yocto jobs

Stefano Stabellini posted 3 patches 1 year, 9 months ago
There is a newer version of this series
[PATCH 2/3] automation: add binaries/ to artifacts for Yocto jobs
Posted by Stefano Stabellini 1 year, 9 months ago
From: Stefano Stabellini <stefano.stabellini@amd.com>

Copy the build output of Yocto builds to binaries/ and export binaries/
among the jobs artifacts so that they can be reused by other jobs.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/build/yocto/build-yocto.sh | 6 ++++++
 automation/gitlab-ci/build.yaml       | 1 +
 2 files changed, 7 insertions(+)

diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
index 3601cebc3c..d0fcaacf06 100755
--- a/automation/build/yocto/build-yocto.sh
+++ b/automation/build/yocto/build-yocto.sh
@@ -166,6 +166,10 @@ function project_build() {
         source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
 
         bitbake "${build_image}" || exit 1
+        mkdir -p $OUTPUT
+        cp $BUILDDIR/tmp/deploy/images/qemuarm/zImage $OUTPUT
+        cp $BUILDDIR/tmp/deploy/images/qemuarm/xen-qemuarm $OUTPUT
+        cp $BUILDDIR/tmp/deploy/images/qemuarm/xen-image-minimal-qemuarm.tar.bz2 $OUTPUT
     ) || return 1
 }
 
@@ -238,6 +242,8 @@ Options:
 EOF
 }
 
+OUTPUT=`pwd`/binaries
+
 for OPTION in "$@"
 do
     case ${OPTION} in
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index f62cf21f45..d4a2aa9a5b 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -215,6 +215,7 @@
   artifacts:
     paths:
       - 'logs/*'
+      - binaries/
     when: always
   needs: []
 
-- 
2.25.1
Re: [PATCH 2/3] automation: add binaries/ to artifacts for Yocto jobs
Posted by Stefano Stabellini 1 year, 9 months ago
On Tue, 14 Feb 2023, Stefano Stabellini wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Copy the build output of Yocto builds to binaries/ and export binaries/
> among the jobs artifacts so that they can be reused by other jobs.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>  automation/build/yocto/build-yocto.sh | 6 ++++++
>  automation/gitlab-ci/build.yaml       | 1 +
>  2 files changed, 7 insertions(+)
> 
> diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
> index 3601cebc3c..d0fcaacf06 100755
> --- a/automation/build/yocto/build-yocto.sh
> +++ b/automation/build/yocto/build-yocto.sh
> @@ -166,6 +166,10 @@ function project_build() {
>          source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
>  
>          bitbake "${build_image}" || exit 1
> +        mkdir -p $OUTPUT
> +        cp $BUILDDIR/tmp/deploy/images/qemuarm/zImage $OUTPUT
> +        cp $BUILDDIR/tmp/deploy/images/qemuarm/xen-qemuarm $OUTPUT
> +        cp $BUILDDIR/tmp/deploy/images/qemuarm/xen-image-minimal-qemuarm.tar.bz2 $OUTPUT

In this form this is a mistake as it only works for the arm32 Yocto
job, while build-yocto.sh is common for all of them.

We could either check if this is the arm32 job before copying, or move
the copy to build.yaml.

I'll fix this in the next version.


>      ) || return 1
>  }
>  
> @@ -238,6 +242,8 @@ Options:
>  EOF
>  }
>  
> +OUTPUT=`pwd`/binaries
> +
>  for OPTION in "$@"
>  do
>      case ${OPTION} in
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index f62cf21f45..d4a2aa9a5b 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -215,6 +215,7 @@
>    artifacts:
>      paths:
>        - 'logs/*'
> +      - binaries/
>      when: always
>    needs: []
>  
> -- 
> 2.25.1
>