Add a job in the build stage to export the TF-A, U-Boot and the
device tree for the FVP platform from the test artifact container.
Add a FVP smoke test job in the test stage to do the same test as
the `qemu-smoke-dom0-arm64-gcc` job.
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v2:
- Add Stefano's Reviewed-by tag.
Although it does not affect the functionality, I am still quite
confused about why the logs displayed by GitLab UI, for
example [1], is much less than the actual output (saved in the
artifacts, see [2]). Had a discussion with Michal on Matrix
and we agree that the log in gitlab UI is usually capped.
[1] https://gitlab.com/xen-project/people/henryw/xen/-/jobs/5690876361
[2] https://gitlab.com/xen-project/people/henryw/xen/-/jobs/5690876361/artifacts/file/smoke.serial
---
automation/gitlab-ci/build.yaml | 17 +++++++++++++++++
automation/gitlab-ci/test.yaml | 22 ++++++++++++++++++++++
2 files changed, 39 insertions(+)
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30cced..89d2f01302 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -344,6 +344,23 @@ kernel-6.1.19-export:
tags:
- x86_64
+armfvp-uboot-tfa-2023.10-2.9.0-arm64-export:
+ extends: .test-jobs-artifact-common
+ image: registry.gitlab.com/xen-project/xen/tests-artifacts/armfvp-uboot-tfa:2023.10-2.9.0-arm64v8
+ script:
+ - |
+ mkdir binaries && \
+ cp /bl1.bin binaries/bl1.bin && \
+ cp /fip.bin binaries/fip.bin && \
+ cp /fvp-base-gicv3-psci-1t.dtb binaries/fvp-base-gicv3-psci-1t.dtb
+ artifacts:
+ paths:
+ - binaries/bl1.bin
+ - binaries/fip.bin
+ - binaries/fvp-base-gicv3-psci-1t.dtb
+ tags:
+ - arm64
+
# Jobs below this line
# Build jobs needed for tests
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6aabdb9d15..47e00d0a0b 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -96,6 +96,19 @@
tags:
- xilinx
+.fvp-arm64:
+ extends: .test-jobs-common
+ variables:
+ CONTAINER: debian:bookworm-arm64v8-fvp
+ LOGFILE: fvp-smoke-arm64.log
+ artifacts:
+ paths:
+ - smoke.serial
+ - '*.log'
+ when: always
+ tags:
+ - arm64
+
.adl-x86-64:
extends: .test-jobs-common
variables:
@@ -459,3 +472,12 @@ qemu-smoke-ppc64le-powernv9-gcc:
needs:
- qemu-system-ppc64-8.1.0-ppc64-export
- debian-bullseye-gcc-ppc64le-debug
+
+fvp-smoke-dom0-arm64-gcc-debug:
+ extends: .fvp-arm64
+ script:
+ - ./automation/scripts/fvp-base-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
+ needs:
+ - *arm64-test-needs
+ - armfvp-uboot-tfa-2023.10-2.9.0-arm64-export
+ - alpine-3.18-gcc-debug-arm64
--
2.25.1
Hi Henry,
On 08/12/2023 06:46, Henry Wang wrote:
>
>
> Add a job in the build stage to export the TF-A, U-Boot and the
> device tree for the FVP platform from the test artifact container.
>
> Add a FVP smoke test job in the test stage to do the same test as
> the `qemu-smoke-dom0-arm64-gcc` job.
>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
with a remark...
> ---
> v2:
> - Add Stefano's Reviewed-by tag.
>
> Although it does not affect the functionality, I am still quite
> confused about why the logs displayed by GitLab UI, for
> example [1], is much less than the actual output (saved in the
> artifacts, see [2]). Had a discussion with Michal on Matrix
> and we agree that the log in gitlab UI is usually capped.
>
> [1] https://gitlab.com/xen-project/people/henryw/xen/-/jobs/5690876361
> [2] https://gitlab.com/xen-project/people/henryw/xen/-/jobs/5690876361/artifacts/file/smoke.serial
> ---
> automation/gitlab-ci/build.yaml | 17 +++++++++++++++++
> automation/gitlab-ci/test.yaml | 22 ++++++++++++++++++++++
> 2 files changed, 39 insertions(+)
>
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 32af30cced..89d2f01302 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -344,6 +344,23 @@ kernel-6.1.19-export:
> tags:
> - x86_64
>
> +armfvp-uboot-tfa-2023.10-2.9.0-arm64-export:
> + extends: .test-jobs-artifact-common
> + image: registry.gitlab.com/xen-project/xen/tests-artifacts/armfvp-uboot-tfa:2023.10-2.9.0-arm64v8
> + script:
> + - |
> + mkdir binaries && \
> + cp /bl1.bin binaries/bl1.bin && \
> + cp /fip.bin binaries/fip.bin && \
> + cp /fvp-base-gicv3-psci-1t.dtb binaries/fvp-base-gicv3-psci-1t.dtb
> + artifacts:
> + paths:
> + - binaries/bl1.bin
> + - binaries/fip.bin
> + - binaries/fvp-base-gicv3-psci-1t.dtb
> + tags:
> + - arm64
> +
> # Jobs below this line
>
> # Build jobs needed for tests
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 6aabdb9d15..47e00d0a0b 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -96,6 +96,19 @@
> tags:
> - xilinx
>
> +.fvp-arm64:
> + extends: .test-jobs-common
> + variables:
> + CONTAINER: debian:bookworm-arm64v8-fvp
> + LOGFILE: fvp-smoke-arm64.log
> + artifacts:
> + paths:
> + - smoke.serial
> + - '*.log'
> + when: always
> + tags:
> + - arm64
> +
> .adl-x86-64:
> extends: .test-jobs-common
> variables:
> @@ -459,3 +472,12 @@ qemu-smoke-ppc64le-powernv9-gcc:
> needs:
> - qemu-system-ppc64-8.1.0-ppc64-export
> - debian-bullseye-gcc-ppc64le-debug
> +
> +fvp-smoke-dom0-arm64-gcc-debug:
> + extends: .fvp-arm64
> + script:
> + - ./automation/scripts/fvp-base-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
> + needs:
> + - *arm64-test-needs
This would imply the need for qemu-system-aarch64-6.0.0-arm64-export which you don't need.
I think you could do:
.fvp-arm64-test-needs: &fvp-arm64-test-needs
- alpine-3.18-arm64-rootfs-export
- kernel-5.19-arm64-export
- armfvp-uboot-tfa-2023.10-2.9.0-arm64-export
and then reference this in your job. This will be reused by other FVP tests in the future.
~Michal
Hi Michal,
> On Dec 8, 2023, at 17:19, Michal Orzel <michal.orzel@amd.com> wrote:
>
> Hi Henry,
>
> On 08/12/2023 06:46, Henry Wang wrote:
>>
>>
>> Add a job in the build stage to export the TF-A, U-Boot and the
>> device tree for the FVP platform from the test artifact container.
>>
>> Add a FVP smoke test job in the test stage to do the same test as
>> the `qemu-smoke-dom0-arm64-gcc` job.
>>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Thanks.
>
> with a remark...
>
>> +fvp-smoke-dom0-arm64-gcc-debug:
>> + extends: .fvp-arm64
>> + script:
>> + - ./automation/scripts/fvp-base-smoke-dom0-arm64.sh 2>&1 | tee ${LOGFILE}
>> + needs:
>> + - *arm64-test-needs
> This would imply the need for qemu-system-aarch64-6.0.0-arm64-export which you don't need.
> I think you could do:
>
> .fvp-arm64-test-needs: &fvp-arm64-test-needs
> - alpine-3.18-arm64-rootfs-export
> - kernel-5.19-arm64-export
> - armfvp-uboot-tfa-2023.10-2.9.0-arm64-export
>
> and then reference this in your job. This will be reused by other FVP tests in the future.
Sounds good, will do in v3. Thanks!
Kind regards,
Henry
>
> ~Michal
© 2016 - 2026 Red Hat, Inc.