Commit Graph

632 Commits

Author SHA1 Message Date
Henrik Brix Andersen
2b29364883 github: issue templates: remove hardware support template
Remove the Hardware Support request template. Hardware support requests
generally end up being stale and no one picks them up. This avoids giving
users false hope that simply opening a Hardware Support request will result
in someone implementing the requested support.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2023-08-31 11:04:09 +03:00
Lukasz Mrugala
4d467af7f4 scripts: tests: twister: Black box testing
In addition to the white-box testing and unit tests,
we would like to have some black-box testing for the
console commands of twister.

This serves as a Proof of Concept for future expansion.

Special dummy tests are made for blackbox testing.

Signed-off-by: Lukasz Mrugala <lukaszx.mrugala@intel.com>
2023-08-28 15:57:06 +02:00
Fabio Baltieri
6728af6458 ci: assigner: fix closing if statement
Bash uses fi, not endif.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-25 10:10:31 +01:00
Fabio Baltieri
abb8ede0bc ci: assigner: add module and issue support, enable issue
Add a scheduled entry to run_assignee to run the module assignment
function periodically, as well as a target to run the issue code when
issue labels are changed.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-08-25 10:33:06 +02:00
Andreas Deininger
8f66f854c3 ci: Bump checkout action to latest version
Bump checkout action to latest version v3

Signed-off-by: Andreas Deininger <andreas@deininger.net>
2023-08-16 14:59:16 +02:00
Alberto Escolar Piedras
b83a828825 ci: bsim workflow: nice down test images build
The compile script was modified to fully parallelize
all bsim test images builds.
This speed up the build time, but as we are
building ~80 images, the average load on the system
will skyrocket to over 200.
For CI systems we are seeing in quite many cases,
the CI server loosing connection with the CI runner,
while this part of the job is run, and suspect it is
due to this load.

Nice the job down (by the default +10),
as this should alleviate this problem without slowing
down the job.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-08-16 13:02:51 +02:00
Gerard Marull-Paretas
7f9215da0e doc: move requirements to doc/
Zephyr scripts do not require documentation dependencies, so let's
move them from scripts/ to doc/.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Gerard Marull-Paretas
2c89bf5798 doc: add cmake SPHINXOPTS_EXTRA option
Add a new CMake option to append options to SPHINXOPTS. This allows us
to easily extend default SPHINXOPTS. This patch also restores the "-j
auto" option in CI (now that we use a custom runner).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Gerard Marull-Paretas
a211469734 ci: doc-build: use zephyr-runner-linux-x64-4xlarge
This should allow us to observe faster build times when using
parallelization.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-07-12 09:13:49 -04:00
Henrik Brix Andersen
2a00b9e505 ci: github: workflows: west_cmds: install natsort package
Install the natsort package before running the west commands test
suites. The natsort package is required by twister, which is imported in
the runners, since c37deeb0c4.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2023-07-07 09:19:02 +02:00
Michael Jones
343f60c631 doc: Add '--keep-going' flag to sphinx-build
So that we see all the potential errors in CI and not just the first
and can assess how much work there is to do.

This was introduced for debuggin but gmarull has suggested keeping it
in.

Signed-off-by: Michael Jones <m.pricejones@gmail.com>
2023-07-03 10:05:52 +00:00
Anas Nashif
ae114855f9 ci: doc-build: use customer runner
Apparently the PDF build needs more resources, otherwise we end up
aborting the build too early.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-20 16:49:07 +02:00
Anas Nashif
294e0ddee7 ci: doc-build: set shell as bash
Specify the shell variant being used in the workflow step.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-20 16:49:07 +02:00
Anas Nashif
e3f0d402f9 ci: doc: upload build log for debugging
When PDF build fails, we want to see what cmaused the failure, so upload
the log for later analysis.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-20 16:49:07 +02:00
Alberto Escolar Piedras
9af9a812b6 CI: bsim workflow: Fix getting bsim revision
As the bsim repo is disabled by default, west list bsim -f {sha}
fails.
Instead get the revision field which works.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-06-08 11:49:17 -04:00
Alberto Escolar Piedras
1c165296e8 Revert "ci: doc-build: Pull 'bsim' west project"
This reverts commit 00130b72ce.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-06-08 11:49:17 -04:00
Anas Nashif
c1e40bb3d5 templates: change template file namaes for proper sorting
prefix with numbers to get sorting based on usage. Most common files
issue types should come first, with bugs being at the top.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-06-08 07:32:45 -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
064d9f4dd8 ci: twister: Run on schedule once per week on Sunday
This commit updates the twister workflow to run once per week on Sunday
instead of twice per week on Wednesday and Saturday because the
scheduled run results are not checked very often and once-per-week
should be sufficient for the purpose of catching broken tests.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-31 10:00:31 -04:00
Maciej Perkowski
dc14bdd54f ci: twister: add unit tests for pytest plugin
Adding a stage to twister unit test workflow where tests for
pytest-twister-harness plugin are executed.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2023-05-26 13:52:15 -04:00
Fabio Baltieri
dd8a65c03c ci: scripts_test: rebase before running tests
Add a rebase on top of BASE_REF before the pytest run to make sure that
PRs that predates the test introduction runs on top of the current HEAD.
This prevents pytest from failing with error code 5 because no tests are
found.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-05-26 20:12:58 +09:00
Fabio Baltieri
c1c06207a6 ci: add a workflow for script unit tests
Add a "Scripts tests" workflow, for now just run pytest against
"scripts/build", but keep the naming generic so this could be reused for
other tests under scripts that are not covered by the other workflows.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-05-25 15:40:07 +02:00
Fabio Baltieri
7039f8ce9c ci: do_not_merge: check for TSC tag as well
Check for TSC tag in addition to the DNM one, so that PR scheduled for
TSC discussion can't be merged by mistake.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-05-16 14:57:51 -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
Benjamin Cabé
909080a7a5 ci: bump zephyrproject-rtos/action-first-interaction version
Bump to v1.1.1-zephyr-3 version of the first-interaction GH action.
This fixes several issues:
- some contributors being improperly flagged as first-time contributors
- retry/throttling handling to address secondary API rate limit causing
action to sometimes fail
- first time contributor not being notified on their first merged PR

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-05-12 21:52:55 +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
a466c3d661 ci: footprint-tracking: Install awscli package from workflow
The Zephyr CI Docker image no longer contains the `awscli` Python
package due to dependency conflicts.

This commit updates the footprint tracking workflow, which uses the
CI Docker image, to manually install the `awscli` package into an
isolated virtual environment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-11 21:53:11 +09:00
Stephanos Ioannidis
21d7ffb442 ci: footprint-tracking: Filter by organisation instead of repository
This commit updates the footprint tracking workflow to run on all
repositories in the `zephyrproject-rtos` organisation to ensure that
it runs on other test repositories such as `zephyr-testing`.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-11 21:53:11 +09:00
Stephanos Ioannidis
bca4a53dd7 ci: footprint-tracking: Specify branch trigger conditions
When the `paths` condition is used alongside the `tags` or `branches`
condition, both conditions must be satisified for the workflow to
trigger -- this resulted in the workflow not triggering on push to the
`main` branch when one of the files under the paths listed in the
`paths` condition was modified.

This commit adds the `branches` condition to the workflow so that any
push to the `main` and release branches, as well as release tags,
containing the changes to the files under the paths specified by the
`path` condition trigger this workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-05-11 21:53:11 +09:00
Alberto Escolar Piedras
933d338c97 ci: bsim workflow: Update bsim to version pointed by manifest
To ensure a reproducible enviroment while not needing
to update the docker images too often,
let's update on the fly the docker bsim installation to
whatever the Zephyr manifest points to.
Note that the update and rebuild is incremental,
so if the docker image already has the right version
the operation is very fast.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-05-04 19:51:20 +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
Benjamin Cabé
8e305b3840 ci: Run greeting workflow on pull_request_target
In order to be able to comment on PR, the workflow requires a
GITHUB_TOKEN with appropriate write permissions, which are only
provided when running in the context of the base of the pull
request.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-04-27 17:37:47 +09:00
Benjamin Cabé
a3ce0b0f7e github: add GitHub action to greet first time contributors
Adds the configuration file for a GitHub action that will greet first-time
contributor the first time they:
- open an issue
- open a PR
- get a PR of theirs merged

Fixes #56092.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2023-04-25 10:16:50 -07:00
Stephanos Ioannidis
00130b72ce ci: doc-build: Pull 'bsim' west project
This commit updates the documentation build workflow to pull in the
'bsim' west project (with its submanifest) so that the build process
does not fail due to a manifest import failure.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-04-20 15:47:25 +02:00
Przemyslaw Bida
ee7f2af1be tests bsim/net: Refactor bsim workflows.
This commit combines bsim-networking and bsim-bluetooth workflows
and separates runs of networking or ble tests based on files changed.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-04-20 20:46:19 +09: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
a982355f0a ci: codecov: Use codecov/codecov-action@v3
This commit updates the CI workflows to use the codecov-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:10:29 +09:00
Stephanos Ioannidis
7fe5c53b54 ci: Use carpentries/actions/check-valid-pr@v0.14.0
This commit updates the CI workflows to use the check-valid-pr action
v0.14.0, 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:10:15 +09:00
Stephanos Ioannidis
9cf94c3602 ci: Use aws-actions/configure-aws-credentials@v2
This commit updates the CI workflows to use the AWS
configure-aws-credentials action v2, 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:09:53 +09:00
Stephanos Ioannidis
f03190a2e1 ci: stale_issue: Use actions/stale@v8
This commit updates the stale issue workflow to use the stale action
v8, 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:08: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
260d054092 ci: backport: Update backport action to v2.0.3-3
This commit updates the backport action to v2.0.3-3, 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 14:23:56 +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
Przemyslaw Bida
32c566afa7 tests bsim/net: Separate bsim networking and bluetooth tests.
Splitting bsim tests workflows to be triggered separatley for networking
(thread/802.15.4) and bluetooth tests.

Signed-off-by: Przemyslaw Bida <przemyslaw.bida@nordicsemi.no>
2023-04-12 22:42:03 +09:00
Fabio Baltieri
6e3339c5ee templates: bug: add a note about project forks
Add a note in the issue template mentioning that bugs in project forks
should be reported on the fork issue tracker.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-04-10 18:36:39 -04:00
Stephanos Ioannidis
cadd6e6fa4 ci: backport_issue_check: Use ubuntu-22.04 virtual environment
This commit updates the pull request backport issue check workflow to
use the Ubuntu 22.04 virtual environment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-03-22 02:49:03 +09:00
Alberto Escolar Piedras
d44e36d438 ci: bluetooth worflow: Rename to Bsim
This workflow and tests do not cover just Bluetooth anymore
but also cover other networking areas.
Rename the workflow and artifacts for clarity.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-21 23:34:52 +09:00
Alberto Escolar Piedras
f2d9b74da1 tests bsim: Move common scripts one level up
These scripts are common for bluetooth and other tests
Let's move them one level up.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-20 14:02:50 +00: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
44a8b70ccc ci: manifest: Use ubuntu-22.04 virtual environment
This commit updates the manifest workflow to use the Ubuntu 22.04
virtual environment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-03-19 03:53:49 +09:00
Stephanos Ioannidis
e701ec5efc ci: assigner: Use ubuntu-22.04 virtual environment
This commit updates the pull request assigner workflow to use the
Ubuntu 22.04 virtual environment.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2023-03-19 03:53:49 +09:00
Alberto Escolar Piedras
d21559d239 ci: bluetooth worflow: Do not install parallel
Parallel is already installed in the docker image.
Let's save a few seconds in each CI run.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-18 06:07:05 +09:00
Alberto Escolar Piedras
f27c0b4905 tests bsim: Change folder structure
Bsim won't be limited anymore to BT tests.
In preparation for adding more tests in network areas
swap the tests/bluetooth/bsim with tests/bsim/bluetooth

There is no other changes in this commit beyond that.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-17 19:59:50 +01: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
Alberto Escolar Piedras
2117853d96 ci: twister: Enable tests on bsim boards
Since the move to github workflows
e366d7948a
we lost the ability to run in CI in twister the bsim boards.
This means people cannot use the nrf52_bsim in normal twister
workflows even if it would work perfectly fine otherwise
(say as a stand alone test of the controller that does not
require an actual BT pair).
It also meant changes to the bsim board itself where not
tested with twister like for other boards, but relied solely
on the BT tests.

Enable this kind of tests again.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-09 18:33:09 +09:00
Alberto Escolar Piedras
6c1f8cf2a5 ci: bluetooth-tests: Also trigger on BT samples changes
Quite a few applications in samples/bluetooth
are part of the bluetooth regression run in simulation.
Changes to them should also trigger this CI workflow.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2023-03-06 21:20:38 +01:00
Gerard Marull-Paretas
e6d9ff2948 ci: doc-build: fix PDF build
New LaTeX Docker image (Debian based) uses Python 3.11. On Debian
systems, this version does not allow to install packages to the system
environment using pip.  Use a virtual environment instead.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2023-02-23 18:52:52 -05:00
Jonathan Rico
2a9eda226b tests: Bluetooth: restructure bsim_bt directory
This commit separates each test by layer level.

Obviously the tests will run the whole stack, but they should be separated
by which component/layer they intend on testing.

Signed-off-by: Jonathan Rico <jonathan.rico@nordicsemi.no>
2023-02-23 14:35:05 +01:00
Stephanos Ioannidis
fe8c1fb8ba SECURITY: Drop "patch level" from the supported version number list
This commit drops the "patch level" from the supported version numbers
listed in the security policy document because:

1. It currently does not convey any meaningful information (simply set
   to "0") and is really unnecessary because the support status is
   defined at the "minor" version level.

2. Updating the security policy document whenever there is a new "patch
   release" is arguably too noisy and does not add much value.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-02-22 12:06:17 -05:00
Stephanos Ioannidis
1e8fa9b0cb SECURITY: Update supported version list after v3.3
This commit updates the list of supported versions in the project
security policy document after the Zephyr 3.3 release.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2023-02-22 12:06:17 -05:00
Anas Nashif
74db50b99d ci: twister: set run_date when uploading data to elasticsearch
This way we will get unified data across the matrix and will not have
duplications when re-running a job.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-21 13:06:29 -05:00
Erwan Gouriou
d92aaba3bc github: bug template: Propose users to create discussion topic
In order to minimize the number of users creating bug that are actually
an issue in their application, remind the existence and purpose of
github Dicussions.

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2023-02-21 08:59:08 -05:00
Martí Bolívar
0de8c6bf29 .github: doc-build: move to west 1.0.0
The release notes are in and west==1.0.0 is installable via pypi.
Move the doc build over to it and fix a typo while we are here.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-21 19:39:50 +09:00
Martí Bolívar
e150ad6258 .github: build docs with west v1.0.a1
The alpha for this release is up on pypi; start using it so we can
test out the doc build in CI.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2023-02-20 13:00:47 -08: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
Anas Nashif
66fa169623 ci: do not hardcode es server in script
Use environment variable instead of hardcoding server in script. This
will allow reuse.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-02-03 20:53:20 +09:00
Anas Nashif
2ff466b225 ci: use elasticsearch instead of opensource
Set the right key for elasticsearch.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-01-28 01:48:27 +09:00
Anas Nashif
fd702ebb34 ci: push test results to elasticsearch instance
Move away from opensearch and switch to elasticsearch for reporting.
The results will be available at https://kibana.zephyrproject.io/

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-01-27 22:57:26 +09:00
Anas Nashif
a4b2d58d3f Revert "twister: Update path structure for tests"
This reverts commit 21eb27c5c0.

This change has been a source of much trouble and ends up preventing us
from tracking test results across tree. It uses the repo name as the
namespace, and that is not always the same and does not have to be
called 'zephyr', depending on where you are running and in which
environment.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2023-01-24 20:21:57 -05:00
Gerard Marull-Paretas
a003b725bb ci: doc-build: change Doxygen download URL
It looks like versions >= 1.9.2 have disappeared from the Sourceforge
website. Since they use GH releases since 1.9.6, the version we use,
let's just update download URL.

Ref. https://github.com/doxygen/doxygen/issues/9801

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-01-19 17:13:36 +01:00
Fabio Baltieri
cf39a737d9 ci: west_cmds: add pyserial
Add the pyserial Python module so that it can be used for unit testing.

Signed-off-by: Fabio Baltieri <fabio.baltieri@gmail.com>
2023-01-19 10:16:00 +01:00
Al Semjonovs
90a86688ef ci: west_cmds: Add ply for twister support
Install ply for twister support

Signed-off-by: Al Semjonovs <asemjonovs@google.com>
2023-01-13 15:39:04 -08:00
Gerard Marull-Paretas
036e4f2902 ci: doc-build: use Doxygen 1.9.6
Use the latest release of Doxygen, 1.9.6.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2023-01-10 10:27:54 +01:00
Fabio Baltieri
9d3681c10c scripts: compliance: add support for YAMLLint
Add a YAMLLint compliance check that uses the yamllint package to report
linting error on YAML files.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 17:29:23 +01:00
Fabio Baltieri
dd462028b3 yamllint: indentation: MAINTAINERS and workflows
Fix the indentation on the remaining YAML files.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 14:23:53 +01:00
Fabio Baltieri
7db1d17ee3 yamllint: fix all yamllint line-length errors
Fix all line-length errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(line-length)'

Using a limit is set to 100 columns, not touching the commandlines in
GitHub workflows (at least for now).

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Fabio Baltieri
7dd902d035 yamllint: fix all yamllint comments-indentation errors
Fix all comments-indentation errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(comments-indentation)'

This checks that the comment is aligned with the content.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Fabio Baltieri
bd4cdde4b0 yamllint: fix all yamllint colons, commas and empty-lines errors
Fix all colons and commas errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(brackets)'

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(commas)'

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(empty-lines)'

Default config is no space before, one space after, max 2 empty lines.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Fabio Baltieri
f39f04f232 yamllint: fix all yamllint brackets errors
Fix all brackets errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(brackets)'

Default config is to have no spaces inside brackets, changed few
documentation strings as well that refered to lists even though the
linter does not care about those.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Fabio Baltieri
5c32300861 yamllint: fix all yamllint truthy errors
Fix all thruthy errors detected by yamllint:

yamllint -f parsable -c .yamllint $( find -regex '.*\.y[a]*ml' ) | \
  grep '(truthy)'

This only accepts true/false for boolean properties. Seems like python
takes all sort of formats:

https://github.com/yaml/pyyaml/blob/master/lib/yaml/constructor.py#L224-L235

But the current specs only mention "true" or "false"

https://yaml.org/spec/1.2.2/#10212-boolean

Which is the standard yamllint config.

Excluding codeconv and workflow files, as some are using yes/no instead
in the respective documentation.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2023-01-04 01:16:45 +09:00
Fabio Baltieri
e01d8dbbd7 actions: manifest: update action-manifest
Update action-manifest to the latest commit, pick up:

a6d0c6e action: match revisions with a refs/ prefix

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-12-27 15:25:47 +01:00
Stephanos Ioannidis
e11d82ba31 ci: doc-build: Disable PDF documentation build for pull requests
This commit disables the PDF documentation build for pull request CI
runs because the HTML documentation build already validates the
documentation changes and the PDF build takes significantly longer than
the HTML build.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-12-14 01:13:45 +09:00
Stephanos Ioannidis
264afa8ae7 ci: doc-build: Increase PDF documentation build timeout
This commit increases the timeout for PDF documentation build job from
45 minutes to 60 minutes because it can occasionally take more than 45
minutes on the GitHub Actions hosted runners.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-12-14 01:13:45 +09:00
Carles Cufi
f70eddce5f github: workflows: compliance: Ensure no merge commits
Add a simple one-liner that checks for "0" in the count of merge
commits. If a merge commit is present the output will be "1"
or higher, failing the job.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-30 12:06:03 -05:00
Stephanos Ioannidis
e872ef57db ci: bluetooth-tests: Run with GNU parallel
This commit updates the bluetooth-tests workflow to install the GNU
parallel utility to enable parallel execution of the Bluetooth tests.

Note that the Bluetooth test script automatically parallelises the
tests when `parallel` is available in the PATH; otherwise, it
sequentially executes the tests.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-11-27 03:41:11 +09:00
Stephanos Ioannidis
22d043dad3 ci: bluetooth-tests: Use zephyr-runner-linux-x64-4xlarge
This commit updates the bluetooth-tests workflow to use the
zephyr-runner-linux-x64-4xlarge runner, which has 16 vCPU and 32 GiB
RAM, and the embedded repository cache.

Signed-off-by: Stephanos Ioannidis <stephanos.ioannidis@nordicsemi.no>
2022-11-27 03:41:11 +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
Carles Cufi
090572c801 github: compliance: Remove maintainers check
The assigner.yml workflow already performs the same checks.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-21 11:02:39 -05:00
Carles Cufi
5ed037023b github: workflows: Avoid listing tests manually
Instead of listing each test manually, use the script itself to list
them:

- When invoking it just exclude the one we don't want by default
- When parsing the output files, use the -l output as a list

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-21 11:02:39 -05:00
Carles Cufi
95053c8358 scripts: compliance: Fix DT Bindings check name
Check names must not contain spaces, since they are passed via `-m` in
the command-line.

Also update .gitignore and compliance.yml.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-21 11:02:39 -05:00
Anas Nashif
23f0578042 ci: twister: checkout tree when merging results
Needed for the script used to upload results to opensearch.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-21 14:40:53 +01:00
Gerard Marull-Paretas
8c1aa8aa61 ci: doc: use Ubuntu 22.04
Use the latest Ubuntu image. There's no special reason for this change
other than staying up-to-date.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-19 14:17:26 +09:00
Gerard Marull-Paretas
61f252fe33 ci: doc-build: remove unnecessary libclang dependency
Doxygen 1.9.4 no longer needs libclang.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-11-19 14:17:26 +09: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
Anas Nashif
1eb50d5ea3 ci: twister: fix typo
Fix typo in conditional allowing upload of test results on scheduled
events.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-14 18:08:15 +01:00
Maciej Perkowski
21eb27c5c0 twister: Update path structure for tests
With the patch a relative path between a test and west's project top
directory is always calculated instead of being relative to zephyr
base. The test names and results structur change by addition of one
level. This way the names/structure conventon for tests from zephyr and
modules is alligned.
For external tests ".." parts are replaced with "external".
This allows to maintain unified folder structure also for results of
external tests.
Without this patch the folder/name allignment is lost for
external and module test becaming depandant on a way how
twister was called.
.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2022-11-13 17:45:09 -05:00
Carles Cufi
1951071f14 requirements: Add lxml as a requirement
junitparser has a bug that prevents it from working correctly when lxml
is not installed.

See this GH issue for more information:
https://github.com/weiwei/junitparser/issues/99

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-13 06:25:59 -05:00
Carles Cufi
8275d21a6c scripts: compliance: Add GitHub-compatible annotation support
Add support for GitHub workflow annotations, so that errors are
displayed inline with the Pull Request diff.

More info here:
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#about-workflow-commands

Enable the new option in the compliance GitHub action.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-11-13 06:25:59 -05:00
Anas Nashif
f98a240537 ci: twister: capture footprint data on push/schedule
Capture footprint data on push/schedule so we visualize footprint in
dashboards.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-10 13:45:00 -06:00
Stephanos Ioannidis
08316429f5 ci: Add workflow for cleaning up stale queued workflow runs
This commit adds a workflow to periodically clean-up the stale workflow
runs that are stuck in 'queued' state.

These stale workflow runs can result from occasional GitHub webhook
delivery mishaps and may affect the CI autoscaler decision making
process.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-09 11:12:48 +09:00
Anas Nashif
e2cd634185 ci: also upload results of twiser a week full builds
Upload results of full runs we do twice a week to opensearch.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-07 14:20:02 -06:00
Stephanos Ioannidis
0aded739d3 ci: twister: Do not run on third-party repositories
This commit updates the twister 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
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
dfabedf262 ci: codecov: Do not run on forks
This commit updates the codecov workflow to not run on the fork
repositories because this workflow requires a custom runner type only
available within the zephyrproject-rtos organisation and there is not
much point in running this workflow on the repositories other than the
main Zephyr repository.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-05 19:12:21 +09:00
Stephanos Ioannidis
afdf012a63 ci: manifest: Drop west label for manifest updates
This commit updates the manifest workflow to not label the pull
requests updating the west manifest (`west.yml`) with the `west` label
because the `manifest` label alone is enough for this purpose and the
`west` label can be easily confused with the `area: West` label.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-04 15:51:17 +01:00
Anas Nashif
662aed81d2 actions: Upload test results to opensearch service
On push, upload test results to opensearch for analysis and reporting.
Goal is to use this data to understand test coverage better and use this
services for all test reporting, also for results coming from testing on
hardware.
Opensearch is currenly being used for evaluation, we are considering
the switch to elasticsearch later.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-11-02 10:26:43 -04:00
Stephanos Ioannidis
7272159c11 ci: Limit workflow scope branches
This commit updates the CI workflows that trigger on both push and pull
request events to limit their event trigger scope to the main and the
release branches.

This prevents these workflows from simultaneously triggering on both
push and pull request events when a pull request is created from an
upstream branch to another upstream branch (e.g. pull requests from
the backport branches to the release branches).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-11-02 22:10:19 +09:00
Stephanos Ioannidis
69ef22b717 ci: codecov: Clone cached Zephyr repository
This commit updates the codecov 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
1bfd46bc71 ci: codecov: Use zephyr-runner
This commit updates the codecov workflow to use the new Kubernetes-
based zephyr-runner.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-31 08:08:35 +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
4d195cb2c3 ci: twister: 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
a3ae6ad74b ci: twister: Clone cached Zephyr repository
This commit updates the twister 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
4cf366a81a ci: twister: Use zephyr-runner
This commit updates the twister 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
Maciej Perkowski
9f5f9b42d9 ci: workflows: Make backport_issue_check only working in the upstream
This check makes no sense outside of the upstream zephyr CI and
causes downstream CIs, which are forked from the upstream, to fail.

Signed-off-by: Maciej Perkowski <Maciej.Perkowski@nordicsemi.no>
2022-10-27 11:00:39 +02:00
Fabio Baltieri
f5b3bdc60d ci: release: drop "v" prefix from release names
Documentation page says release should be named without the "v" prefix,
make the CI do that.

Link: https://docs.zephyrproject.org/latest/project/release_process.html#tagging
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-10-24 11:17:00 -04:00
Stephanos Ioannidis
d018b2ba67 ci: manifest: Trigger unconditionally
The GitHub Actions trigger-on-file-change mechanism may fail to trigger
for very large PRs (300+ files changed).

This commit updates the manifest workflow such that it runs on all pull
requests, regardless of whether `west.yml` is modified.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-21 23:53:04 +09:00
Stephanos Ioannidis
dd6e1b9f5a ci: Use actions/cache@v3
This commit updates the CI workflows to use the latest "cache" 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
f86be3fe7e ci: Use actions/setup-python@v4
This commit updates the CI workflows to use the latest "setup-python"
action v4, 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
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
c7d96253c0 ci: twister: 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
d9e8132ecc ci: release: 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
74e9e09f8a ci: codecov: 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
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
ebbf0b5b9b ci: footprint-tracking: 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
Stephanos Ioannidis
a4c24f9dc5 ci: footprint: 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
Stephanos Ioannidis
b880d1286e ci: codecov: 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
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
Stephanos Ioannidis
3e02f18b7d ci: twister: 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
Stephanos Ioannidis
35d68c44e4 ci: bluetooth-tests: 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
Fabio Baltieri
34f74c96b0 ci: release: stop creating releases for RC tags
RC releases clutter the release page, there's no reason for keeping them
after the release is done, filter them out from the workflow so they
don't get created in the first place..

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-10-10 07:25:15 -07:00
Fabio Baltieri
fa51b3db1c doc: release process: only use the overview for the release page
Change the release process documentation to only use the overview of the
release notes for GitHub releases rather than the full file.

The current instructions of copying the full content are broken (the
file does not fit anyway and the formatting is incompatible) and result
in a cluttered page anyway (the UI is not really meant for long release
notes).

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-10-07 14:32:42 +02: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
Stephanos Ioannidis
e43aebbdda ci: clang: Use LLVM_TOOLCHAIN_PATH instead of CLANG_ROOT_DIR
`CLANG_ROOT_DIR` is deprecated; use `LLVM_TOOLCHAIN_PATH` instead.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
ba14a4e7b8 ci: footprint: Remove stale clang-related variables
This commit removes stale clang-related variables that are not used by
the footprint workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
02fbef5a2e ci: footprint-tracking: Remove stale clang-related variables
This commit removes stale clang-related variables that are not used by
the footprint-tracking workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
984731ceab ci: bluetooth-tests: Remove stale clang-related variables
This commit removes stale clang-related variables that are not used by
the bluetooth-tests workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
bbe32d40f5 ci: codecov: Remove stale clang-related variables
This commit removes stale clang-related variables that are not used by
the codecov workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Stephanos Ioannidis
34e4b6fc2e ci: twister: Remove stale clang-related variables
This commit removes stale clang-related variables that are not used by
the Twister workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-10-03 17:56:26 +09:00
Mahesh Mahadevan
9ec0116ce3 github: Update security page
Update security page with the current maintained versions.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2022-10-01 06:50:17 -04:00
Stephanos Ioannidis
884d747fa3 templates: nomination: Fix outdated "GitHub Permission Level" link
This commit updates the outdated "GitHub Permission Level" link.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-09-30 09:43:17 +00:00
Stephanos Ioannidis
ac22b4e860 templates: nomination: Clarify its purpose
This commit updates the "Contributor Nomination" template to make its
purpose clear and straight forward -- that this template is for
requesting the Triage permission level.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-09-30 09:43:17 +00:00
Stephanos Ioannidis
fad899d2ad ci: twister: Check out west modules for test plan
This commit updates the twister workflow to check out the west modules
before running the test plan script for the pull request runs because
the twister test plan logic resolves the the module dependencies and
filters tests based on the local availability of the required modules.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-09-16 21:04:25 +09:00
Tristan Honscheid
52db2d8279 twister: Remove import exception handler for psutil
`handlers.py` treats the `psutil` package as optional and quietly prints
a message to stdout if it is not present, but it is actually a hard
requirement for the base `Handler` class. This try/except block is bad
as it hides the requirement until a timeout occurs and the handler
attempts to use `psutil` in the terminate method, which will crash if
the module happens to be missing.

This PR removes the try/except guard so missing `psutil` will cause
twister to immediately fail. `psutil` is already specified in the
`requirements.txt` file, so this should only affect users who
unwittingly have an outdated/incorrect environment.

Also update the Github Action for twister tests to install from
requirements files.

Signed-off-by: Tristan Honscheid <honscheid@google.com>
2022-09-01 06:22:04 -04:00
Stephanos Ioannidis
02f24e47d9 ci: Update to Zephyr SDK 0.15.0
This commit updates the CI workflows to use the Zephyr SDK 0.15.0 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-29 16:57:18 +02:00
Stephanos Ioannidis
e2fae19190 ci: Switch to CI image 0.24.2
This commit updates the CI workflows to use the CI image 0.24.2, in
order to pull in the Zephyr SDK 0.15.0 release.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-29 16:57:18 +02:00
Martí Bolívar
788aeca277 .github: update to west 0.14.0
This is up on PyPI; use it.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-08-29 16:54:53 +02:00
Carles Cufi
80b4df8839 blobs: Document the submission process
Add the missing piece of documentation for binary blobs: the submission
process. This follows the external source code process relatively close,
but it is relatively simpler.

The proposal includes a new issue template for requesting inclusion of
blob(s) for a particular module.

Fixes #7516.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-08-25 11:10:53 -04:00
Carles Cufi
5fd3cbf9a7 actions: Make Python 3.8 the minimum required version
Change the matrix so that we now start testing 3.8+. No need to exclude
any particular OS/Python version combinations.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-08-24 18:35:57 +02:00
Stephanos Ioannidis
66d165bdb8 ci: compliance: Use upload-artifact action v3
This commit updates the "Create a release" workflow to use a specific
upload-artifact action version, v3, instead of the latest master branch
in order to prevent any potential breakages due to the newer commits.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
062133b261 ci: issue_count: Use upload-artifact action v3
This commit updates the issue count tracker workflow to use a specific
upload-artifact action version, v3, instead of the latest master branch
in order to prevent any potential breakages due to the newer commits.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
25a22883c2 ci: doc-build: Use upload-artifact action v3
This commit updates the documentation build workflow to use a specific
upload-artifact action version, v3, instead of the latest master branch
in order to prevent any potential breakages due to the newer commits.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
3731315406 ci: compliance: Use upload-artifact action v3
This commit updates the compliance check workflow to use a specific
upload-artifact action version, v3, instead of the latest master branch
in order to prevent any potential breakages due to the newer commits.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
04a2a38435 ci: backport: Use Ubuntu 20.04 runner image
This commit updates the backport workflow to use the ubuntu-20.04
runner image because the ubuntu-18.04 image is deprecated and will
become unsupported by December 1, 2022.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
00eff11915 ci: west_cmds: Use specific version of runner image
This commit updates the "West Command Tests" workflow to use a specific
runner image version (ubuntu-20.04, macos-11, windows-2022) instead of
the latest version in order to prevent any potential breakages due to
the 'latest' version change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
1a84bb5ba7 ci: devicetree_checks: Use specific version of runner image
This commit updates the "Devicetree script tests" workflow to use a
specific runner image version (ubuntu-20.04, macos-11, windows-2022)
instead of the latest version in order to prevent any potential
breakages due to the 'latest' version change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
a13fed4f02 ci: twister: Use Ubuntu 20.04 runner image
This commit updates the "Run tests with twister" workflow to use a
specific runner image version, ubuntu-20.04, instead of the latest
version in order to prevent any potential breakages due to the 'latest'
version change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
c4aac31ae4 ci: twister_tests: Use Ubuntu 20.04 runner image
This commit updates the Twister Testsuite workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
14bbe0ef8a ci: stale_issue: Use Ubuntu 20.04 runner image
This commit updates the stale issue workflow to use a specific runner
image version, ubuntu-20.04, instead of the latest version in order to
prevent any potential breakages due to the 'latest' version change by
GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
8c2c2ddc35 ci: release: Use Ubuntu 20.04 runner image
This commit updates the "Create a Release" workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
3fcefcbd35 ci: manifest: Use Ubuntu 20.04 runner image
This commit updates the manifest check workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
ac136651b0 ci: license_check: Use Ubuntu 20.04 runner image
This commit updates the license check workflow to use a specific runner
image version, ubuntu-20.04, instead of the latest version in order to
prevent any potential breakages due to the 'latest' version change by
GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
0fe14ec351 ci: issue_count: Use Ubuntu 20.04 runner image
This commit updates the issue count tracker workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
6eaac30d48 ci: footprint: Use Ubuntu 20.04 runner image
This commit updates the footprint delta workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
89a2b268a7 ci: footprint-tracking: Use Ubuntu 20.04 runner image
This commit updates the footprint tracking workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
4ed4049e8b ci: errno: Use Ubuntu 20.04 runner image
This commit updates the error number check workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
ebe8b4c776 ci: doc: Use Ubuntu 20.04 runner image
This commit updates the documentation build and publish workflows to
use a specific runner image version, ubuntu-20.04, instead of the
latest version in order to prevent any potential breakages due to the
'latest' version change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
0a19144885 ci: do_not_merge: Use Ubuntu 20.04 runner image
This commit updates the "Do Not Merge" workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
493a484cab ci: daily_test_version: Use Ubuntu 20.04 runner image
This commit updates the daily test version workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
f4447fc742 ci: compliance: Use Ubuntu 20.04 runner image
This commit updates the compliance check workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
ed2e522c87 ci: coding_guidelines: Use Ubuntu 20.04 runner image
This commit updates the coding guidelines workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
834175d18c ci: codecov: Use Ubuntu 20.04 runner image
This commit updates the Codecov workflow to use a specific runner image
version, ubuntu-20.04, instead of the latest version in order to
prevent any potential breakages due to the 'latest' version change by
GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
9dc89221dc ci: clang: Use Ubuntu 20.04 runner image
This commit updates the Clang workflow to use a specific runner image
version, ubuntu-20.04, instead of the latest version in order to
prevent any potential breakages due to the 'latest' version change by
GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
2f624e5f9f ci: bug_snapshot: Use Ubuntu 20.04 runner image
This commit updates the bug snapshot workflow to use a specific runner
image version, ubuntu-20.04, instead of the latest version in order to
prevent any potential breakages due to the 'latest' version change by
GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
763201b42f ci: bluetooth-tests: Use Ubuntu 20.04 runner image
This commit updates the Bluetooth tests workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
bc2240d97b ci: backport_issue_check: Use Ubuntu 20.04 runner image
This commit updates the backport issue check workflow to use a specific
runner image version, ubuntu-20.04, instead of the latest version in
order to prevent any potential breakages due to the 'latest' version
change by GitHub.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
b8cab3043c ci: issue_count: Fix stale reference to master branch
This commit fixes a stale reference to the 'master' branch when
downloading the issue report configuration file.

Note that the 'master' branch is no longer the default
branch -- 'main' is.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Stephanos Ioannidis
f61753547d ci: conflict: Remove unused workflow
This commit removes the "Conflict Finder" workflow, which is no longer
used (see #26613) and is unnecessary because GitHub is capable of
handling merge conflicts on its own and there are other workflows to
warn about stale pull requests.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-23 03:10:29 +09:00
Fabio Baltieri
3767e07c90 templates: bug: ask if the bug is a regression
Add a note to the bug report GitHub template asking if the bug is a
regression, and asking for a bisected commit if available.

This should make regression bugs easier to triage, or even point the
author to the solution.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-08-17 12:09:54 +02:00
Stephanos Ioannidis
339982f315 ci: bug_snapshot: Fix repository name resolution
`github.event.repository.name` is not available for the workflow runs
triggered by the `schedule` event.

This commit updates the workflow to use the repository name extracted
from the `GITHUB_REPOSITORY` environment variable, which is always
available.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-12 15:15:49 -04:00
Stephanos Ioannidis
b4f3922c35 ci: bug_snapshot: Restrict to zephyrproject-rtos organisation
This commit restricts the bug snapshot workflow to the
`zephyrproject-rtos` organisation because it requires access to the
project internal infrastructure and cannot be reused downstream.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-12 15:15:49 -04:00
Stephanos Ioannidis
5a7bd7fac3 ci: twister: Include module test results in report
This commit modifies the twister workflow to include the module test
results in the unit test report.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-08-12 08:44:18 -05:00
Anas Nashif
4e854f7a09 ci: run bug snapshot daily
Store bug stats on a daily basis and keep original workflow behavior
triggered manually in place. Daily snapshots will be stored under daily/
folder and separate from manual snapshots.

The daily snapshots will be used for more granular analytics of github
issues over time.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-08-10 11:59:55 +02:00
Henri Xavier
b187477fe7 scripts: Upgrade to junitparser v2+
There is a breaking change in Junitparser 'TestCase.result' between
v1.x and v2.x.

Update check_compliance.py minimally to take into account this change.

This avoids relying on an outdated package.

Signed-off-by: Henri Xavier <datacomos@huawei.com>
2022-08-03 14:04:36 -04:00
Fabio Baltieri
a5dfd6bd64 ci: doc-build: bump timeout up to 45m
Give documentation a bit more time to build, seems like we are hitting
the current 30 minutes limit.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2022-07-20 09:41:32 -05:00
Christopher Friedt
aa4e437573 ci: backports: check if a backport PR has a valid issue
This is an automated check for the Backports project to
require one or more `Fixes #<issue>` items in the body
of the pull request.

Fixes #46164

Signed-off-by: Christopher Friedt <cfriedt@fb.com>
2022-07-18 20:09:44 +09:00