Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Migrate remaining workflows to zephyr-runner v2 #70014

Merged
merged 16 commits into from
Mar 12, 2024

Conversation

stephanosio
Copy link
Member

@stephanosio stephanosio commented Mar 11, 2024

This series migrates the rest of the CI workflows that currently use the zephyr-runner v1 to use the v2.

Note that the bsim-tests workflow is not included in this series because there are some performance issues that require a separate discussion (see #70015).


clang: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/8226310644
codecov: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/8232665090
doc-build: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/8225692094
footprint-tracking: https://github.com/zephyrproject-rtos/zephyr-testing/actions/runs/8223339751

NOTE: "Build with Clang/LLVM" failure is expected because it runs in the base branch context and should be ignored. See above for the test results.

This commit updates SDK_VERSION to point to the Zephyr SDK 0.16.5-1
release.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the doc-build workflow to use the new zephyr-runner v2
CI runner deployment.

It also installs additional system packages that are not available by
default in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the bsim-tests workflow to use the new zephyr-runner v2
CI runner deployment.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the codecov workflow to run on all forks under the
zephyrproject-rtos organisation.

The purpose of this is mainly to simplify the process of testing of this
workflow under the zephyr-testing repository.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the codecov workflow to use the new zephyr-runner v2 CI
runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the codecov workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the codecov workflow to, when available, use Redis
remote storage backend for the ccache compilation cache data.

The Redis cache server is hosted in the Kubernetes cluster in which the
zephyr-runner pods run -- the Redis remote storage backend will be ignored
if the server is unavailable.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit adds the compiler `--specs=*` flag to the ccache ignore option
list because ccache is unable to resolve the toolchain-provided specs file
path and will consider source files to be uncacheable if it is unable to
read the specified specs file.

Note that adding `--specs=*` to the ignore option list is not a problem
because it is unlikely for the content of the toolchain libc spec file to
change without the compiler executable itself changing.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the codecov workflow such that ccache only uses remote
Redis cache storage when available.

The purpose of this to reduce the individual runner local disk IOPS
requirement; thereby, reducing the overall load on the SAN.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit sets the codecov workflow twister timeout multiplier to 2,
which effectively increases the default test timeout from 60 to 120
seconds, because the new cost-effective Zephyr runners may take longer to
execute tests and the default timeout is not sufficient for some tests to
complete.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the clang workflow to use the new zephyr-runner v2 CI
runner deployment.

It also updates the workflow to use the `ci-repo-cache` Docker image, which
includes the Zephyr repository cache, because the node level repository
cache is no longer available in the zephyr-runner v2.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the clang workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the clang workflow to, when available, use Redis remote
storage backend for the ccache compilation cache data.

The Redis cache server is hosted in the Kubernetes cluster in which the
zephyr-runner pods run -- the Redis remote storage backend will be ignored
if the server is unavailable.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the clang workflow such that ccache only uses remote
Redis cache storage when available.

The purpose of this to reduce the individual runner local disk IOPS
requirement; thereby, reducing the overall load on the SAN.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the errno workflow to use the CI image v0.26.9, in
order to pull in the Zephyr SDK 0.16.5-1 release and keep the image and SDK
versions in sync with the rest of the CI workflows.

Signed-off-by: Stephanos Ioannidis <[email protected]>
This commit updates the twister_tests_blackbox workflow to use the CI image
v0.26.9, in order to pull in the Zephyr SDK 0.16.5-1 release and keep the
image and SDK versions in sync with the rest of the CI workflows.

Signed-off-by: Stephanos Ioannidis <[email protected]>
Copy link
Member

@fabiobaltieri fabiobaltieri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good stuff

@nashif nashif merged commit 121896c into zephyrproject-rtos:main Mar 12, 2024
33 of 34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants