Commit Graph

95 Commits

Author SHA1 Message Date
Benjamin Cabé
d8997b4dc3 ci: github: git clean after rebase
After rebasing the PR on main, the local copy of the repository may
still contain untracked directories and files (for example, the commits
from the pull request are "git mv"ing files out of directories that are
then left empty). Add a git clean so that we run CI in conditions
that are as close as possible to a fresh clone.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2024-09-19 15:13:49 +02:00
Anas Nashif
a0411ad2e1 ci: use latest docker image: v0.26.14
new docker with an updated renode version and rust toolchains.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-08-29 18:03:18 +02: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
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
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
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
eb144c05fe ci: Switch to CI image v0.26.7
This commit updates the CI workflows to use the CI image v0.26.7, in order
to pull in the Zephyr SDK 0.16.5 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2024-02-02 08:37:35 -05:00
Jordan Yates
0dcb0518be ci: update Github actions versions
Update Github actions to their latest versions to fix the following
warnings on runs:
```
Node.js 16 actions are deprecated. Please update the following actions
to use Node.js 20: actions/checkout@v3, actions/cache@v3,
actions/upload-artifact@v3. For more information see:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
```

`actions/checkout` and `actions/cache` are straight Node version
upgrades, `actions/upload-artifact` and `actions/download-artifact` have
breaking changes, but don't appear to affect our usage.
https://github.com/actions/upload-artifact

Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
2024-01-30 18:51:12 -05:00
Fabio Baltieri
6529e316a5 workflows: find the SDK version from the top level SDK_VERSION file
Drop all hardcoded ZEPHYR_SDK_INSTALL_DIR settings, set the variable
automatically from the SDK_VERSION file instead.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 10:54:20 +01:00
Alberto Escolar Piedras
9971027d0b CI clang workflow: Switch to native_sim
Switch from native_posix to native_sim as test platform
for this workflow.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-11-30 09:42:25 -05:00
Daniel Baluta
d6329386e9 ci: use zephyr SDK 0.16.4
This commit update CI workflows  to use CI image v0.26.6 in order
to pull Zephyr SDK 0.16.4

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
2023-11-30 14:49:54 +09:00
Anas Nashif
f669e156d4 ci: pull optional modules for now
While we cleanup, pull optional modules as before to keep CI happy.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-01 09:21:50 +03:00
Anas Nashif
d2879f9a48 ci: use zephyr sdk 0.16.3
Modify CI tpo use new SDK and new docker containing this SDK.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-09-25 17:11:42 -04:00
Anas Nashif
135f5376c1 ci: workflows: create cache directory for ccache
Create cache directory before moving ccache.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-06 11:38:20 -04:00
Anas Nashif
1ebf0fdedb ci: Fix setup of ccache in twister workflow
Path for cache directory has changed, adapt workflow accordingly.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-06 09:39:11 -04:00
Stephanos Ioannidis
90828ae9d4 ci: Use Zephyr SDK 0.16.1
This commit updates the CI workflows to use the Zephyr SDK 0.16.1 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-16 01:50:00 +09:00
Stephanos Ioannidis
b1588dce60 ci: Switch to CI image v0.26.4
This commit updates the CI workflows to use the CI image v0.26.4, in
order to pull in the Zephyr SDK 0.16.1 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-16 01:50:00 +09:00
Stephanos Ioannidis
8233f8ef91 ci: Use organisation-level AWS secrets
This commit updates the CI workflows to use the `zephyrproject-rtos`
organisation-level AWS secrets instead of the repository-level secrets.

Using organisation-level secrets allows more centralised management of
the access keys used throughout the GitHub Actions CI infrastructure.

Note that the `AWS_*_ACCESS_KEY_ID` is now stored in plaintext as a
variable instead of a secret because it is equivalent to username and
needs to be identifiable for management and audit purposes.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-12 02:44:13 +09:00
Stephanos Ioannidis
7f3326ad5d ci: Use CI Docker image v0.26.2
This commit updates the CI workflows to use the CI image v0.26.2, which
includes the west-based BabbleSim installation.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-04-29 16:13:40 -04:00
Stephanos Ioannidis
81872eb701 ci: Use zephyrproject-rtos/action-s3-cache@v1.2.0
This commit updates the CI workflows to use the S3 cache action v1.2.0,
which is based on node.js 16 and @actions/core 1.10.0, in preparation
for the upcoming removal of the deprecated GitHub features.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-16 15:32:16 +09:00
Stephanos Ioannidis
000e88fa9a ci: Use EnricoMi/publish-unit-test-result-action@v2
This commit updates the CI workflows to use the
publish-unit-test-result-action v2, which uses the up-to-date GitHub
commands, in preparation for the upcoming removal of the deprecated
GitHub features.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-16 15:07:43 +09:00
Stephanos Ioannidis
494bb013cc ci: Use actions/download-artifact@v3
This commit updates the CI workflows to use the download-artifact
action v3, which is based on node.js 16 and @actions/core 1.10.0, in
preparation for the upcoming removal of the deprecated GitHub features.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-16 15:06:15 +09:00
Stephanos Ioannidis
76078ea63c ci: clang: Use LLVM/Clang 16
This commit updates the Clang workflow to build tests using
LLVM/Clang 16.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-14 02:39:47 +09:00
Stephanos Ioannidis
4691359596 ci: Switch to CI image v0.26.1
This commit updates the CI workflows to use the CI image v0.26.1, which
is based on Ubuntu 22.04 and and includes LLVM 16.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-14 02:39:47 +09:00
Stephanos Ioannidis
b1e4116d40 ci: Use Ubuntu 22.04
This commit updates the CI workflows to use the GitHub Ubuntu 22.04
virtual environment for running jobs.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-04-14 02:39:47 +09:00
Alberto Escolar Piedras
758e58a1b6 ci: Switch to CI image v0.25.1
Which includes the latest babblesim (v2.0.1)
which is required to enable 802.15.4

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-20 21:17:44 +09:00
Stephanos Ioannidis
5797fbc101 ci: Use Zephyr SDK 0.16.0
This commit updates the CI workflows to use the Zephyr SDK 0.16.0 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-03-16 21:04:30 +09:00
Stephanos Ioannidis
914c4c6913 ci: Switch to CI image v0.25.0
This commit updates the CI workflows to use the CI image v0.25.0, in
order to pull in the Zephyr SDK 0.16.0 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-03-16 21:04:30 +09:00
Stephanos Ioannidis
0d9fea87bb ci: Switch to CI image v0.24.11
This commit updates the CI workflows to use the CI image v0.24.11 that
includes BabbleSim v1.1.2, which improves simulation stability and
fixes the intermittent failures currently reported by the Bluetooth
test workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-02-11 22:20:03 +09:00
Stephanos Ioannidis
d56ed39e20 ci: Switch to CI image 0.24.10
This commit updates the CI workflows to use the CI image 0.24.10, in
order to pull in a more recent version of BabbleSim (v1.1.1) and an
additional thrift-compiler dependency for the Apache Thrift module.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-02-09 10:21:05 +09:00
Stephanos Ioannidis
5155907d7f ci: Update to Zephyr SDK 0.15.2
This commit updates the CI workflows to use the Zephyr SDK 0.15.2 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 07:35:13 -05:00
Stephanos Ioannidis
7e008d2b18 ci: Switch to CI image 0.24.6
This commit updates the CI workflows to use the CI image 0.24.6, in
order to pull in the Zephyr SDK 0.15.2 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-24 07:35:13 -05:00
Stephanos Ioannidis
3d8e651992 ci: Clone cached Zephyr repository with shared objects
In the new ephemeral Zephyr runners, the cached repository files are
located in a foreign file system and Git clone operation cannot create
hard-links to the cached repository objects, which forces the Git clone
operation to copy the objects from the cache file system to the runner
container file system.

This commit updates the CI workflows to instead perform a "shared
clone" of the cached repository, which allows the cloned repository to
utilise the object database of the cached repository.

While "shared clone" can be often dangerous because the source
repository objects can be deleted, in this case, the source repository
(i.e. cached repository) is mounted as read-only and immutable.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-17 15:42:27 +09:00
Stephanos Ioannidis
863a886e63 ci: clang: Do not run on third-party repositories
This commit updates the clang workflow to only run on the repositories
in the zephyrproject-rtos organisation because this workflow requires
a custom runner type only available within the zephyrproject-rtos
organisation.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-05 19:12:21 +09:00
Stephanos Ioannidis
408473f85d ci: clang: Remove obsolete clean-up steps
The repository clean-up steps are no longer necessary because the new
zephyr-runner is ephemeral and does not contain any files from the
previous runs.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-31 08:08:35 +09:00
Stephanos Ioannidis
6c676827e7 ci: clang: Clone cached Zephyr repository
This commit updates the clang workflow to pre-clone the Zephyr
repository from the runner repository cache.

Note that the `origin` remote URL is reconfigured to that of the GitHub
Zephyr repository because the checkout action attempts to delete
everything and re-clone otherwise.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-31 08:08:35 +09:00
Stephanos Ioannidis
e81964bb90 ci: clang: Use zephyr-runner
This commit updates the clang workflow to use the new Kubernetes-based
zephyr-runner.

Note that the repository cache directory path has been changed for the
new runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-31 08:08:35 +09:00
Stephanos Ioannidis
d4c6f002d8 ci: Use actions/upload-artifact@v3
This commit updates the CI workflows to use the latest
"upload-artifact" action v3, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
216b0e6778 ci: Use actions/checkout@v3
This commit updates the CI workflows to use the latest "checkout"
action v3, which is based on Node.js 16.

Note that Node.js 12-based actions are now deprecated by GitHub and may
stop working in the near future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
ea02843716 ci: clang: Use output parameter file
This commit updates the workflow to use the output parameter file
(`GITHUB_OUTPUT`) instead of the stdout-based output parameter setting,
which is now deprecated by GitHub and will be removed in the near
future.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Stephanos Ioannidis
e00a3cb600 ci: clang: Use "concurrency" to cancel previous runs
This commit adds a concurrency group to the workflow in order to ensure
that only one instance of the workflow runs for an event-ref
combination.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-14 12:03:07 +09:00
Anas Nashif
5200d06a3f ci: update cancel-workflow-action action to 0.11.0
Update action to use latest release which resolves a warning Node 12
being deprecated.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-10-14 01:54:54 +09:00
Stephanos Ioannidis
9dc450bfeb ci: Update to Zephyr SDK 0.15.1
This commit updates the CI workflows to use the Zephyr SDK 0.15.1 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-12 19:23:32 -04:00
Stephanos Ioannidis
5d572a3c26 ci: Switch to CI image 0.24.5
This commit updates the CI workflows to use the CI image 0.24.5, in
order to pull in the Zephyr SDK 0.15.1 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-12 19:23:32 -04:00
Stephanos Ioannidis
39af51372d ci: clang: Use Clang 15
This commit updates the Clang workflow to build tests using Clang 15.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
e5b17ee043 ci: Switch to CI image 0.24.3
This commit updates the CI workflows to use the CI image 0.24.3, in
order to pull in the LLVM/Clang 15 and Renode 1.13.1.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00