Commit Graph

554 Commits

Author SHA1 Message Date
Henrik Brix Andersen
fa4537df8f ci: move github runners from macos-11 to macos-14
Move the GitHub runners currently on macos-11 to macos-14 as the former is
no longer supported by GitHub.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2024-07-01 18:12:21 +02:00
Alberto Escolar Piedras
c2950bec73 ci: bsim tests: Fix for missing result xml files
Do not fail during results merge if
twister or the bsim workflows did not run
(or produce an xml).
Depending on what has changed in a PR
and therefore what tests are run this can happen.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-06-14 05:31:08 -04:00
Alberto Escolar Piedras
0209fa4196 ci: bsim tests: Move CI steps to separate scripts
So they can be easily run locally by users.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-06-13 17:52:03 +02:00
Alberto Escolar Piedras
c734f11abc ci: bsim tests: Merge and publish results as in twister flow
Let's merge the results and publish them as in the
twister workflow.
It is nicer to not select files by hand and produces
a nicer report.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-06-13 17:52:03 +02:00
Benjamin Cabé
9ee3bf221d doc: pdf: add ImageMagick converter extension
Our documentation uses image formats such as WebP that are not supported
by LaTeX. This commit enables Sphinx's sphinx.ext.imageconverter
extension, and updates the documentation to indicate ImageMagick is
required to build docs.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-06-10 14:58:16 +03:00
Stephanos Ioannidis
b8f7ae5a4c ci: Switch to CI image v0.26.13
This commit updates the CI workflows to use the CI image v0.26.13, which
includes Zephyr SDK 0.16.8.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-06-04 22:59:31 -04:00
Stephanos Ioannidis
c74445d694 ci: doc-build: Reduce parallel job count to 14
This commit reduces the parallel job count for building the documentation
from the default value of 16 (i.e. `-j auto` aka. the vCPU count) to 14
because the total available RAM in the runners is 32GiB and each
sphinx-build process may use more than 2GiB of RAM, which can lead to
out-of-memory conditions.

Note that the HTML doc build process was parallelised prior to this change
in spite of the lack of `-j auto` in the CI workflow because the default
`SPHINXOPTS` includes `-j auto` and only `SPHINXOPTS_EXTRA` was specified
-- this commit explicitly adds the `SPHINXOPTS` for it with the default
value specified in doc/CMakeLists.txt to make the job count configurable
while ensuring the previous behaviour is preserved.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-06-04 22:37:44 -04:00
Maciej Perkowski
a9565f7a96 docs: Add pytest files to a scope triggering doc-build workflow
Those files are used with autoclass to use their docstrings
in docs.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2024-06-03 16:08:50 -04:00
Arkadiusz Cholewinski
e36caec3ba CI: Reschedule codecov workflow
Reschedule from '6:25 and 18:25, Monday-Friday'
to 'everyday at the same time'.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2024-05-21 16:44:19 -04:00
Stephanos Ioannidis
105fc79267 ci: codecov: Fix merged coverage report path
This commit updates the codecov workflow to specify the full coverage
report file path under `files` because codecov-action v4 does not correctly
process the `directory` parameter.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-05-20 12:21:18 -04:00
Stephanos Ioannidis
d0ae1a8b10 ci: codecov: Add upload token for codecov action
This commit adds the token for uploading to codecov.io because codecov now
requires a token and rejects any upload requests without one.

It also updates the codecov-action version from v3 to v4, which is required
for using a "global upload token."

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-05-14 20:26:44 -04:00
Benjamin Cabé
8b978ac1dc doc: ci: Zephyr now requires Python 3.10 or higher
Update getting started guide, release notes, and CI actions to
use Python 3.10 as minimum supported version.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-05-06 14:56:08 +01:00
Fabio Baltieri
78a75b78bf ci: compliance: upgrade to Python 3.11
The behavior of glob() changedin Python 3.11 and runing the old one
means we are missing some changes that trigger a compliance failure when
ran on an updated system. Upgrade to 3.11 so those are caught in CI.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-04-30 17:23:50 +01:00
Fin Maaß
300de90ab6 ci: revert: fix broken microsoft repo
This reverts commit 3ba4c98a1d.

A repo from microsoft was not available, that lead to ci
actions failing. This hat been fixed, so this workaround
is no longer needed.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-04-26 16:19:58 +02:00
Benjamin Cabé
e01e1800ec ci: github: bump brcrista/summarize-issues version
bump brcrista/summarize-issues from 3 to 4

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-24 14:57:32 -04:00
Benjamin Cabé
c5b4e57446 ci: github: bump aws-actions/configure-aws-credentials version
Bump aws-actions/configure-aws-credentials from 2 to 4.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-24 14:57:32 -04:00
Benjamin Cabé
2df4cce71e ci: github: bump tj-actions/changed-files version
Bump tj-actions/changed-files to v44.
As of v42, input file patterns that end with a / now match all sub-files
within the directory without requiring to specify the globstar pattern.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-24 14:57:32 -04:00
Benjamin Cabé
c00ecd33f1 ci: github: bump dawidd6/action-download-artifact version
Bump dawidd6/action-download-artifact to v3

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-04-24 14:57:32 -04:00
Fin Maaß
3ba4c98a1d ci: fix broken microsoft repo
temporary fix broken microsoft repo

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2024-04-24 20:01:08 +09:00
Lukasz Mrugala
f2495b7d57 ci: twister: Remove Blackbox artifacts
Blackbox tests do not produce easily accessible artifacts.
Thus, the upload steps ought to be removed.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-04-09 16:57:32 +02:00
Stephanos Ioannidis
43ef605be5 ci: Switch to CI image v0.26.11
This commit updates the CI workflows to use the CI image v0.26.11, which
includes bsim 2.2 and nrf-regtool 5.1.0.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-03-28 12:27:55 +09:00
Alberto Escolar Piedras
5ab2635b07 ci: bsim tests: Use hwmv2 board names
Refer to the nrf5340 bsim boards by their hwmv2 name.
As a bonus remove a few variable settings
which match the defaults from the scripts.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-25 16:17:13 +01:00
Aleksander Wasaznik
16ba4bd564 Bluetooth: CI: trigger bsim on testlib change
Some bsim tests have a dependency on testlib. Since testlib does not
have a stable API, it's a good idea to run the bsim tests.

Signed-off-by: Aleksander Wasaznik <aleksander.wasaznik@nordicsemi.no>
2024-03-19 21:15:44 -05:00
Anas Nashif
2ea9de65c7 ci: verify twister schema changes
Run twister tests when schema changes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-19 18:28:06 -04:00
Benjamin Cabé
107b335cce ci: doc-build: increase timeout for doc build jobs
With the introduction of the new runners, the time it takes to build the
documentation in CI has slowed down to the point that the job often times
out.

Applied a conservative 2x factor to the timeouts that were in place.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-03-19 17:43:33 +00:00
Alberto Escolar Piedras
cbef916973 ci: bsim update step: Do not affect global git config
When updating the bsim install in the docker image's
/opt/bsim_west to the version pointed in the Zephyr
manifest, we are detaching the head to that version.
We suppress the "You are in 'detached HEAD' state..."
git warning as it is just noise in CI.

So far we were doing it by globally supressing that
warning. Let's instead just supress it for the
command in question so we don't change global
git config against expectations.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-15 15:30:19 +01:00
Alberto Escolar Piedras
5158ea4af0 ci: Ensure twister steps use the bsim version from the manifest
The west manifest may point to a newer version of bsim than
the one avaliable in the docker image. Let's ensure
we run with that one.
This is equivalent to the change done in
933d338c97
for the bsim-tests workflow.

Note that the update and rebuild is incremental,
so if the docker image already has the right
version the operation is very fast
(~1 second)

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-03-15 15:30:19 +01:00
Stephanos Ioannidis
9f9a6c547b ci: bsim-tests: Use zephyr-runner v2
This commit updates the bsim-tests 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 <root@stephanos.io>
2024-03-12 09:16:24 -04:00
Stephanos Ioannidis
121896c0cf ci: twister_tests_blackbox: Switch to CI image v0.26.9
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
eba732a7eb ci: errno: Switch to CI image v0.26.9
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
95e7eb31e6 ci: clang: Prioritise remote Redis cache storage
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
4a2884c652 ci: clang: Use Redis remote storage for ccache
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
cd83f0724b ci: clang: Store ccache data in node cache
This commit updates the clang workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
64ca699fc8 ci: clang: Use zephyr-runner v2
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
550bb4e4a6 ci: codecov: Set twister timeout multiplier to 2
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
a636c52b6a ci: codecov: Prioritise remote Redis cache storage
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
ab9f6b456b ci: codecov: Add --specs to ccache ignore option list
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
b57f1b5a15 ci: codecov: Use Redis remote storage for ccache
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
36b0b101d4 ci: codecov: Store ccache data in node cache
This commit updates the codecov workflow to store ccache data in the
zephyr-runner v2 node cache.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
354e290a23 ci: codecov: Use zephyr-runner v2
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
c1bd5a613f ci: codecov: Run on all zephyrproject-rtos organisation repositories
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
9838633c0e ci: footprint-tracking: Use zephyr-runner v2
This commit updates the bsim-tests workflow to use the new zephyr-runner v2
CI runner deployment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Stephanos Ioannidis
2819c3526a ci: doc-build: Use zephyr-runner v2
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 <root@stephanos.io>
2024-03-12 08:54:42 -04:00
Fabio Baltieri
053be02994 github: upgrade all setup-python actions to v5
The current version is generating a deprecation warning:

Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/setup-python@v4.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-03-07 14:33:06 +00:00
Anas Nashif
9970724652 ci: twister: increase matrix size for push jobs
Increase matrix size to 20 from 15 on push events.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-03-07 07:27:36 -05:00
Stephanos Ioannidis
7df7e834d9 ci: twister: Set build job timeout to 24 hours
This commit increases the twister build job timeout from the default value
of 6 hours to 24 hours because scheduled (weekly) build runs take longer
than 6 hours to complete.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-03-06 16:42:33 -05:00
Stephanos Ioannidis
de68ea7ce0 ci: twister: Set twister timeout multiplier to 2
This commit sets the 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 <root@stephanos.io>
2024-03-06 16:42:33 -05:00
Stephanos Ioannidis
527435d642 ci: twister: Prioritise remote Redis cache storage
This commit updates the twister 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 <root@stephanos.io>
2024-03-06 16:42:33 -05:00
Stephanos Ioannidis
d3f9f391ad ci: twister: Add --specs to ccache ignore option list
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 <root@stephanos.io>
2024-03-06 16:42:33 -05:00
Stephanos Ioannidis
3823f1f0db ci: twister: Use Redis remote storage for ccache
This commit updates the twister 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 <root@stephanos.io>
2024-03-06 16:42:33 -05:00