diff mbox series

[v5,3/3] automation: Add CI test jobs for Yocto

Message ID e64015d3e8682d068223e94f3bfc8ad823b27a65.1669810269.git.bertrand.marquis@arm.com (mailing list archive)
State Superseded
Headers show
Series Yocto Gitlab CI | expand

Commit Message

Bertrand Marquis Nov. 30, 2022, 12:15 p.m. UTC
From: Michal Orzel <michal.orzel@amd.com>

Populate test jobs for Yocto based tests using the provided containers.
Due to the size restrictions, it is currently not possible to split the
build and run tasks, therefore everything is done in a single step.

Test jobs for the supported Yocto targets are generic to avoid the
necessity to add new ones after each Yocto release. The only thing
required to be changed after updating the containers is the variable
YOCTO_VERSION stored in a .yocto-test template.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v5:
- none
Changes in v4:
- add .yocto-test for arm64 and x86
- make yocto jobs use arm64 version
Changes in v3:
- patch added
---
 automation/gitlab-ci/test.yaml | 43 ++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

Comments

Michal Orzel Nov. 30, 2022, 1:02 p.m. UTC | #1
Hi Bertrand,

On 30/11/2022 13:15, Bertrand Marquis wrote:
> 
> 
> From: Michal Orzel <michal.orzel@amd.com>
> 
> Populate test jobs for Yocto based tests using the provided containers.
> Due to the size restrictions, it is currently not possible to split the
> build and run tasks, therefore everything is done in a single step.
> 
> Test jobs for the supported Yocto targets are generic to avoid the
> necessity to add new ones after each Yocto release. The only thing
> required to be changed after updating the containers is the variable
> YOCTO_VERSION stored in a .yocto-test template.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> Changes in v5:
> - none
> Changes in v4:
> - add .yocto-test for arm64 and x86
> - make yocto jobs use arm64 version
> Changes in v3:
> - patch added
> ---
>  automation/gitlab-ci/test.yaml | 43 ++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index c7e0078e04f1..6ce2fd63eee6 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -54,6 +54,33 @@
>    tags:
>      - x86_64
> 
> +.yocto-test:
> +  extends: .test-jobs-common
> +  script:
> +    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
> +  variables:
> +    YOCTO_VERSION: kirkstone
> +    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
> +  artifacts:
> +    paths:
> +      - 'logs/*'
> +    when: always
> +  needs: []
> +
> +.yocto-test-arm64:
> +  extends: .yocto-test
> +  variables:
> +    YOCTO_HOST: arm64v8
> +  tags:
> +    - arm64
> +
> +.yocto-test-x86-64:
> +  extends: .yocto-test
> +  variables:
> +    YOCTO_HOST: amd64
> +  tags:
> +    - x86_64
This hidden job is not used by any yocto test job and as such can be misleading to others working on this file.
So we can either remove it (can be easily reintroduced once we will find more x86 resources) or add a comment explaining why is it here.

> +
>  # Test jobs
>  build-each-commit-gcc:
>    extends: .test-jobs-common
> @@ -188,3 +215,19 @@ qemu-smoke-x86-64-clang-pvh:
>      - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
>    needs:
>      - debian-unstable-clang-debug
> +
> +# Yocto test jobs
> +yocto-qemuarm64:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemuarm64
> +
> +yocto-qemuarm:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemuarm
> +
> +yocto-qemux86-64:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemux86-64
> --
> 2.25.1
> 
~Michal
Bertrand Marquis Nov. 30, 2022, 3:07 p.m. UTC | #2
Hi Michal,

> On 30 Nov 2022, at 13:02, Michal Orzel <michal.orzel@amd.com> wrote:
> 
> Hi Bertrand,
> 
> On 30/11/2022 13:15, Bertrand Marquis wrote:
>> 
>> 
>> From: Michal Orzel <michal.orzel@amd.com>
>> 
>> Populate test jobs for Yocto based tests using the provided containers.
>> Due to the size restrictions, it is currently not possible to split the
>> build and run tasks, therefore everything is done in a single step.
>> 
>> Test jobs for the supported Yocto targets are generic to avoid the
>> necessity to add new ones after each Yocto release. The only thing
>> required to be changed after updating the containers is the variable
>> YOCTO_VERSION stored in a .yocto-test template.
>> 
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>> Changes in v5:
>> - none
>> Changes in v4:
>> - add .yocto-test for arm64 and x86
>> - make yocto jobs use arm64 version
>> Changes in v3:
>> - patch added
>> ---
>> automation/gitlab-ci/test.yaml | 43 ++++++++++++++++++++++++++++++++++
>> 1 file changed, 43 insertions(+)
>> 
>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>> index c7e0078e04f1..6ce2fd63eee6 100644
>> --- a/automation/gitlab-ci/test.yaml
>> +++ b/automation/gitlab-ci/test.yaml
>> @@ -54,6 +54,33 @@
>>   tags:
>>     - x86_64
>> 
>> +.yocto-test:
>> +  extends: .test-jobs-common
>> +  script:
>> +    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
>> +  variables:
>> +    YOCTO_VERSION: kirkstone
>> +    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
>> +  artifacts:
>> +    paths:
>> +      - 'logs/*'
>> +    when: always
>> +  needs: []
>> +
>> +.yocto-test-arm64:
>> +  extends: .yocto-test
>> +  variables:
>> +    YOCTO_HOST: arm64v8
>> +  tags:
>> +    - arm64
>> +
>> +.yocto-test-x86-64:
>> +  extends: .yocto-test
>> +  variables:
>> +    YOCTO_HOST: amd64
>> +  tags:
>> +    - x86_64
> This hidden job is not used by any yocto test job and as such can be misleading to others working on this file.
> So we can either remove it (can be easily reintroduced once we will find more x86 resources) or add a comment explaining why is it here.

If I remove it then there is not reason to have something separated for arm64.
I will keep and add the following comment on top:
# 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

Would you be ok with that ?

Cheers
Bertrand

> 
>> +
>> # Test jobs
>> build-each-commit-gcc:
>>   extends: .test-jobs-common
>> @@ -188,3 +215,19 @@ qemu-smoke-x86-64-clang-pvh:
>>     - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
>>   needs:
>>     - debian-unstable-clang-debug
>> +
>> +# Yocto test jobs
>> +yocto-qemuarm64:
>> +  extends: .yocto-test-arm64
>> +  variables:
>> +    YOCTO_BOARD: qemuarm64
>> +
>> +yocto-qemuarm:
>> +  extends: .yocto-test-arm64
>> +  variables:
>> +    YOCTO_BOARD: qemuarm
>> +
>> +yocto-qemux86-64:
>> +  extends: .yocto-test-arm64
>> +  variables:
>> +    YOCTO_BOARD: qemux86-64
>> --
>> 2.25.1
>> 
> ~Michal
Michal Orzel Nov. 30, 2022, 3:23 p.m. UTC | #3
Hi Bertrand,

On 30/11/2022 16:07, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 30 Nov 2022, at 13:02, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Bertrand,
>>
>> On 30/11/2022 13:15, Bertrand Marquis wrote:
>>>
>>>
>>> From: Michal Orzel <michal.orzel@amd.com>
>>>
>>> Populate test jobs for Yocto based tests using the provided containers.
>>> Due to the size restrictions, it is currently not possible to split the
>>> build and run tasks, therefore everything is done in a single step.
>>>
>>> Test jobs for the supported Yocto targets are generic to avoid the
>>> necessity to add new ones after each Yocto release. The only thing
>>> required to be changed after updating the containers is the variable
>>> YOCTO_VERSION stored in a .yocto-test template.
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>> Changes in v5:
>>> - none
>>> Changes in v4:
>>> - add .yocto-test for arm64 and x86
>>> - make yocto jobs use arm64 version
>>> Changes in v3:
>>> - patch added
>>> ---
>>> automation/gitlab-ci/test.yaml | 43 ++++++++++++++++++++++++++++++++++
>>> 1 file changed, 43 insertions(+)
>>>
>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>> index c7e0078e04f1..6ce2fd63eee6 100644
>>> --- a/automation/gitlab-ci/test.yaml
>>> +++ b/automation/gitlab-ci/test.yaml
>>> @@ -54,6 +54,33 @@
>>>   tags:
>>>     - x86_64
>>>
>>> +.yocto-test:
>>> +  extends: .test-jobs-common
>>> +  script:
>>> +    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
>>> +  variables:
>>> +    YOCTO_VERSION: kirkstone
>>> +    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
>>> +  artifacts:
>>> +    paths:
>>> +      - 'logs/*'
>>> +    when: always
>>> +  needs: []
>>> +
>>> +.yocto-test-arm64:
>>> +  extends: .yocto-test
>>> +  variables:
>>> +    YOCTO_HOST: arm64v8
>>> +  tags:
>>> +    - arm64
>>> +
>>> +.yocto-test-x86-64:
>>> +  extends: .yocto-test
>>> +  variables:
>>> +    YOCTO_HOST: amd64
>>> +  tags:
>>> +    - x86_64
>> This hidden job is not used by any yocto test job and as such can be misleading to others working on this file.
>> So we can either remove it (can be easily reintroduced once we will find more x86 resources) or add a comment explaining why is it here.
> 
> If I remove it then there is not reason to have something separated for arm64.
> I will keep and add the following comment on top:
> # 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
> 
> Would you be ok with that ?
Yes, sure (+ add comma after end of sentence in multi line comments)

> 
> Cheers
> Bertrand
> 
~Michal
Bertrand Marquis Nov. 30, 2022, 3:36 p.m. UTC | #4
Hi Michal

> On 30 Nov 2022, at 15:23, Michal Orzel <michal.orzel@amd.com> wrote:
> 
> Hi Bertrand,
> 
> On 30/11/2022 16:07, Bertrand Marquis wrote:
>> 
>> 
>> Hi Michal,
>> 
>>> On 30 Nov 2022, at 13:02, Michal Orzel <michal.orzel@amd.com> wrote:
>>> 
>>> Hi Bertrand,
>>> 
>>> On 30/11/2022 13:15, Bertrand Marquis wrote:
>>>> 
>>>> 
>>>> From: Michal Orzel <michal.orzel@amd.com>
>>>> 
>>>> Populate test jobs for Yocto based tests using the provided containers.
>>>> Due to the size restrictions, it is currently not possible to split the
>>>> build and run tasks, therefore everything is done in a single step.
>>>> 
>>>> Test jobs for the supported Yocto targets are generic to avoid the
>>>> necessity to add new ones after each Yocto release. The only thing
>>>> required to be changed after updating the containers is the variable
>>>> YOCTO_VERSION stored in a .yocto-test template.
>>>> 
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> ---
>>>> Changes in v5:
>>>> - none
>>>> Changes in v4:
>>>> - add .yocto-test for arm64 and x86
>>>> - make yocto jobs use arm64 version
>>>> Changes in v3:
>>>> - patch added
>>>> ---
>>>> automation/gitlab-ci/test.yaml | 43 ++++++++++++++++++++++++++++++++++
>>>> 1 file changed, 43 insertions(+)
>>>> 
>>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>>> index c7e0078e04f1..6ce2fd63eee6 100644
>>>> --- a/automation/gitlab-ci/test.yaml
>>>> +++ b/automation/gitlab-ci/test.yaml
>>>> @@ -54,6 +54,33 @@
>>>>  tags:
>>>>    - x86_64
>>>> 
>>>> +.yocto-test:
>>>> +  extends: .test-jobs-common
>>>> +  script:
>>>> +    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
>>>> +  variables:
>>>> +    YOCTO_VERSION: kirkstone
>>>> +    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
>>>> +  artifacts:
>>>> +    paths:
>>>> +      - 'logs/*'
>>>> +    when: always
>>>> +  needs: []
>>>> +
>>>> +.yocto-test-arm64:
>>>> +  extends: .yocto-test
>>>> +  variables:
>>>> +    YOCTO_HOST: arm64v8
>>>> +  tags:
>>>> +    - arm64
>>>> +
>>>> +.yocto-test-x86-64:
>>>> +  extends: .yocto-test
>>>> +  variables:
>>>> +    YOCTO_HOST: amd64
>>>> +  tags:
>>>> +    - x86_64
>>> This hidden job is not used by any yocto test job and as such can be misleading to others working on this file.
>>> So we can either remove it (can be easily reintroduced once we will find more x86 resources) or add a comment explaining why is it here.
>> 
>> If I remove it then there is not reason to have something separated for arm64.
>> I will keep and add the following comment on top:
>> # 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
>> 
>> Would you be ok with that ?
> Yes, sure (+ add comma after end of sentence in multi line comments)

Will do.

Bertrand

> 
>> 
>> Cheers
>> Bertrand
>> 
> ~Michal
>
diff mbox series

Patch

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index c7e0078e04f1..6ce2fd63eee6 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -54,6 +54,33 @@ 
   tags:
     - x86_64
 
+.yocto-test:
+  extends: .test-jobs-common
+  script:
+    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
+  variables:
+    YOCTO_VERSION: kirkstone
+    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
+  artifacts:
+    paths:
+      - 'logs/*'
+    when: always
+  needs: []
+
+.yocto-test-arm64:
+  extends: .yocto-test
+  variables:
+    YOCTO_HOST: arm64v8
+  tags:
+    - arm64
+
+.yocto-test-x86-64:
+  extends: .yocto-test
+  variables:
+    YOCTO_HOST: amd64
+  tags:
+    - x86_64
+
 # Test jobs
 build-each-commit-gcc:
   extends: .test-jobs-common
@@ -188,3 +215,19 @@  qemu-smoke-x86-64-clang-pvh:
     - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
   needs:
     - debian-unstable-clang-debug
+
+# Yocto test jobs
+yocto-qemuarm64:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemuarm64
+
+yocto-qemuarm:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemuarm
+
+yocto-qemux86-64:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemux86-64