Commit Graph

495 Commits

Author SHA1 Message Date
Anas Nashif 3f98312cbe ci: twister status check
Generate one single status for all jobs and also report success when
twister run is being skipped to be able to make this a required check.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-24 16:10:02 -05:00
Anas Nashif a9f77a5126 ci: doc: always report status
Generate status that can be used for enforcing branch checks even if
some jobs get skipped.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-24 16:10:02 -05:00
Anas Nashif 1881ed2a17 ci: remove footprint ci workflow that has no effect
This workflow runs in the background and does not report anything and
does emit failures. Remove for now until we have something that is
actionable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-02-06 15:39:01 -05: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
Fabio Baltieri 131b97956f github: hello_world_multiplatform: run on macOS ARM
Seems like GitHub introduced a macOS on ARM runner, add it to the
multiplatform test, with this we are running all the SDKs minus the
Linux ARM64 one.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-02 12:42:38 +01:00
Fabio Baltieri 9c038c6c34 github: hello_world_multiplatform: update standard action version
Align the standard action versions with the other workflows, those have
been updated in 0dcb0518be but this file was merged after.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-01 14:31:35 +00:00
Fabio Baltieri 86568638fa github: hello_world_multiplatform: run on SDK_VERSION changes
Add the SDK_VERSION file to the pathlist for running the workflow on
pull requests.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-02-01 14:31:35 +00:00
Arkadiusz Cholewinski 9cd0ad0ae4 ci: codecov: stick with gcovr 6.0 for now
gcovr 7.0 has some incompatible format, stick with 6.0 for now.

Signed-off-by: Arkadiusz Cholewinski <arkadiuszx.cholewinski@intel.com>
2024-02-01 10:39:20 +01:00
Anas Nashif 197336c83f ci: codecov: stick with gcovr 6.0 for now
gcovr 7.0 has some incompatible format, stick with 6.0 for now until we
have a compatible solution with gcovr 7.0 output.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-31 07:17:18 -05:00
Lukasz Mrugala 1826e22334 .github: workflows: Add test trigger for pytest harness
Pytest twister harness tests have been added to the
twister_tests.yml workflow some time ago.

However, the $ZEPHYR_BASE/scripts/pylib/pytest-twister-harness/**
has not been monitored by the automatic GitHub Action triggers
of that workflow.

This change adds monitoring for the relevant files.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2024-01-30 20:38:07 -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 f65f6e5279 github: add a multiplatform hello world workflow
Add a new workflow to build the hello world sample application on all
three supported platforms using the reusable setup action.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-29 08:31:53 -06:00
Anas Nashif 4ae4217e58 ci: run assigner bot on collab branches
Get more reviewers added to make sure we have all relevant reviewers
looking at changes targeting collab branches.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-29 11:33:23 +01:00
Anas Nashif 9194a93d87 ci: compliance: exclude optional modules during compliance check
We should not have any dependencies on optional modules, for example on
Kconfigs from optional modules. Compliance has to pass without any
optional modules enabled.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-26 09:43:55 +01:00
Fabio Baltieri 979e7a6c56 github: footprint: set ZEPHYR_SDK_INSTALL_DIR after the rebase
The ZEPHYR_SDK_INSTALL_DIR currently tries to read the SDK_VERSION at
the PR base ref, but this has only been introduced recently. Move the
ZEPHYR_SDK_INSTALL_DIR settings down as part of the build step after the
rebase so the file will always be found from now, even on old PRs.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-18 11:29:07 +00: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 53c121381f CI bsim workflow: Add UART tests to the bsim workflow
Add new workflow steps to the babblesim workflow to run
also the UART tests on the nrf52_bsim.
This commit:
* Enables the single device tests (which we may
move to the normal twister workflow once we fix the
requirement for a fixture)
* Adds as a placeholder the infra for multidevice tests.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-16 14:55:07 -05:00
Anas Nashif 0a50cb9179 ci: pr stats: define elasticsearch index as a repo variable
Add flexibility to change and modify index using a variable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-12 21:35:04 -05:00
Anas Nashif 29a4e04143 ci: update elasticsearch index with merged PR data
A simple workflow that runs when a PR is merged and updates the
elasticsearch index with merged PR info.
The dashboard for displaying the information can be found here:

https://kibana.zephyrproject.io/

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-10 16:39:04 -05:00
Anas Nashif 37560fefea ci: use kitaware ninja with job server support
Needed for full functionality of the job server in twister
which only works with kitware supplied ninja version.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-01-09 11:52:15 -05:00
Fabio Baltieri a006ad5399 ci: do_not_merge: check for dev and arch review labels as well
Add "Architecture Review" and "dev-review" to the list of labels that
block a PR from merging, less chances to merge these before discussion
unintentionally.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-01-08 15:03:04 -05:00
Alberto Escolar Piedras 71c549e908 CI bsim workflow: Update changed-files action version
Dependabot has foud in a fork that we are using
a too old GitHub action version, which contains this
vulnerability:
https://www.cve.org/CVERecord?id=CVE-2023-51664
https://github.com/tj-actions/changed-files/security/advisories/GHSA-mcph-m25j-8j63

We do not use the output listing all changed files,
so we should not be exposed, but nonetheless,
let's update it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2024-01-05 09:05:58 +01:00
Anas Nashif 0175f9627b ci: codecov: increase stack size for tests
Increase stack size for tests and exclude nono libc scenarios causing
some issues with coverage collection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif 8bfa8556b0 ci: codecov: add mps2_an385 as a coverage platform
Add one more ARM based platform to get more code coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif f772bd1106 ci: codecov: use gcovr and upload cobertura style file
Use gcovr to generate reports and upload cobertura style file instead of
previously lcov info file.

We have been seeing issues with lcov format and code being reporting as
not covered although by inspecting the generate output files, they
should be.

The XML format we generate is otherwise easier to parse and deal with.

Also reduce frequency to twice a day.

Fixes #66656

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-21 09:18:44 +01:00
Anas Nashif 52b8858e82 ci: upload merged coverage file as artifact
Upload merged coverage file as artifact for verification and inspection.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-12-18 16:51:23 -05:00
Alberto Escolar Piedras 861131795c CI codecov 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
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
Fabio Baltieri 9521371157 ci: twister: store the list of python packages
Add a step to the first twister shard to upload the list of Python
packages used with the build.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-28 19:37:41 -05:00
Benjamin Cabé 199743de01 ci: hotfix: Use latest version of greetings action
This fixes a bug with the action's Docker container apparently not being
able to run Node correctly anymore...

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-11-24 10:38:25 +00:00
Anas Nashif 21366fea19 ci: do not mark coverity issues as stale
Coverity issues need to be resolved and closed by owners, not by the
bot. Other wise we will continue scanning them and reporting them over
and over.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-11-17 08:41:30 +01:00
Fabio Baltieri 35e9104de7 ci: doc-build: add the container owner workaround step
Seems like the PDF build hit the "detected dubious ownership in
repository" issue that has already been worked around in other workflow.
Add that step here as well.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Fabio Baltieri 62b0153249 ci: doc-build: only rebase on pull requests
Skip the rebase step if it's not a pull request. Schedule and push runs
have no base ref to rebase against anyway, currently the step is failing
and being skipped.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-11-09 18:54:26 +00:00
Lukasz Mrugala 72045afe1a .github: workflows: Expand Twister Unit Tests' requirements
Hardwaremap testing requires installing requirements-run-tests.txt.
This change adds that to the relevant workflow.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-11-06 10:08:44 +01:00
Carles Cufi fe5fd5b205 actions: manifest: Upgrade to 1.2.2
Use revision 1.2.2 which comes with an additional bugfix.

See https://github.com/zephyrproject-rtos/action-manifest/pull/11.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-11-03 09:58:15 +01:00
Alberto Escolar Piedras 464435e22b CI bsim workflow: Also run some split BT stack tests
Also run some split BT stack tests on the nrf5340 platform
to test this configuration.

Move the selection of which BT tests are built and run
in each platform to files in the tests/bsim/ folder.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-31 09:31:42 -05:00
Fabio Baltieri 639d1f803b github: compliance: fix python cache keys
The compliance and coding guidelines workflows are using the same pip
cache key, but they install a different set of packages. This is
probably a copy paste error from the documentation build workflow, which
has been changed to use a hash, and is causing one of the two steps to
restore from a incorrect cache.

Fix this by using a hash of the workflow file itself as a key, as that's
where the python package list is defined.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-31 10:25:50 +01:00
Fabio Baltieri 2dcb1280a5 ci: compliance: fetch only the last revision and skip tags
Add some west update flags to do a shallow fetch of the modules and
skip the tags. That data is not needed anyway, should make the
compliance check initialization a bit faster.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-10-30 09:26:56 +01:00
Carles Cufi 09f6800d1f actions: manifest: Update the revision of the manifest action
Pull in https://github.com/zephyrproject-rtos/action-manifest/pull/10.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-28 16:22:28 -04:00
Anas Nashif bad87f1684 ci: publish api docs and coverage as well
Also API coverage reports to both PRs and main documentation site.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-26 10:12:36 -04:00
Henrik Brix Andersen 9b851b2ab8 ci: test using Python 3.12 as well
Run CI tests against Python v3.12 as well.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-26 07:17:10 +02:00
Henrik Brix Andersen 9a7671e521 ci: test using Python 3.11 as well
Run CI tests against Python v3.11 as well.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-10-25 10:06:01 +02:00
Maureen Helm 2e828eb6e7 ci: Fix license check false pass
The license check workflow quietly stopped working after commit
8f66f854c3. Upgrading the checkout action
changed default behavior to only fetch one commit instead of all history
for all branches, which caused an uncaught fatal error in the scancode
action:

fatal: ambiguous argument 'origin/main..': unknown revision or path not
in the working tree.

The scancode action then completed successfully having not actually
checked anything.

Fix this by setting the checkout action fetch depth to 0, similar to
other workflows.

Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2023-10-23 10:36:53 +02:00
Benjamin Cabé b1c207524b ci: github: Only build docs for zephyrproject-rtos GH org
As documentation is now built using one of our self-hosted runners,
have the GitHub action only run for the upstream repo, not for potential
forks.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-10-22 19:08:58 -04:00
Martí Bolívar e2b2dde1c8 .github: doc-build: build with west 1.2
This is just released and we want the docstrings from there.

Signed-off-by: Martí Bolívar <mbolivar@amperecomputing.com>
2023-10-21 13:14:57 +02:00
Carles Cufi b732c6d564 actions: manifest: Update action revision
Upgrade to v1.2.0, which comes with a bugfix and support for processing
PRs that have removed modifications to the manifest.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2023-10-17 14:23:24 +01:00
Anas Nashif 3b9acef1ba ci: move footprint workflows to zephyr runners
looks like our docker image is way too big for the GH runners, so move
to own runners until we have a better solution.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-10-17 15:52:44 +03:00
Lukasz Mrugala eeb142d409 .github: workflows: Workflow for build_helpers
PR #63195 has managed to change code under test without
triggering those tests.

This change should remedy that by creating a new workflow,
based on twister_tests.yaml, that runs tests in
scripts/tests/build_helpers if build_helpers are modified.

Such a workflow should be easily extendable if we ever have more
non-Twister things to test in scripts/pylib.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-10-10 15:55:58 +03:00
Alberto Escolar Piedras baec80fe41 CI bsim workflow: Also run controller tests on nrf5340bsim_nrf5340_cpunet
Run all bsim bluetooth controller tests also
on a nrf5340bsim_nrf5340_cpunet, as the controller
runs in a quite different mode.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-10-03 09:21:13 +02:00