Commit graph

593 commits

Author SHA1 Message Date
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
Stephanos Ioannidis 55c073297c ci: twister: Use zephyrproject-rtos/action-s3-cache
This commit updates the Twister workflow to use the 'action-s3-cache'
action from the zephyrproject-rtos organisation.

It also updates the action reference such that it uses a specific
version of the action instead of the latest master.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-07-15 01:05:23 +09:00
Stephanos Ioannidis a18e211e9c ci: codecov: Use zephyrproject-rtos/action-s3-cache
This commit updates the Codecov workflow to use the 'action-s3-cache'
action from the zephyrproject-rtos organisation.

It also updates the action reference such that it uses a specific
version of the action instead of the latest master.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-07-15 01:05:23 +09:00
Stephanos Ioannidis 77a902efb6 ci: clang: Use zephyrproject-rtos/action-s3-cache
This commit updates the Clang workflow to use the 'action-s3-cache'
action from the zephyrproject-rtos organisation.

It also updates the action reference such that it uses a specific
version of the action instead of the latest master.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-07-15 01:05:23 +09:00
Anas Nashif 9437e6d963 twister: fix twister testsuite
Make testsuite work again.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-07-05 12:06:27 -04:00
Carles Cufi f1d55bedff actions: manifest: Update SHA
Update the revision of the manifest SHA to include the updates.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-07-01 20:33:36 +09:00
Carles Cufi 1f8df5b858 gh: ext-source: Fix typo
Spell "maintaining" correctly.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-30 17:01:58 -04:00
Carles Cufi 97720bee1f gh: issue templates: Maintainershp section in ext-source
Add a maintainership section in the ext-source template, forcing future
contributors to identify one or more maintainers.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-28 11:08:56 +02:00
Carles Cufi 0eb2207ca2 gh: issue templates: Fix formatting of ext-source
Fix the heading level of the Dependencies section so that it matches the
rest of them.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-06-28 11:08:56 +02:00
Stephanos Ioannidis 1c8bdb8d73 ci: assigner: Skip assignment for draft pull requests
This commit updates the pull request assigner workflow to skip the
reviewers, assignee and labels assignment for the pull requests that
are marked as draft.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-09 22:19:06 +09:00
Stephanos Ioannidis 5dd359cc51 ci: Remove pull request labeler workflow
This commit removes the "Pull Request Labeler" workflow because the
newly added "Pull Request Assigner" workflow takes care of assigning
the pull request labels.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-08 11:56:31 -04:00
Stephanos Ioannidis 37f109a056 ci: Add pull request assigner workflow
This commit adds the "Pull Request Assigner" workflow that
automatically assigns the reviewers, assignee and labels for a pull
request.

Note that this workflow runs on the `pull_request_target` event in the
context of the base branch using the `MAINTAINERS.yml` from the base
branch.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-06-08 11:56:31 -04:00
Stephanos Ioannidis c534ae2947 ci: Run twister with forced color output
The GitHub Actions runner redirects the stdout and stderr console
outputs and, now that twister properly invokes the Colorama module
initialisation function, the color output is disabled when running the
twister in the CI.

This commit adds the `--force-color` option when invoking the twister
so that the ANSI color escape sequences are output even when the output
is redirected by the GitHub Actions runner (note that the web console
properly displays the color escape sequences).

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-25 12:48:31 +09:00
Martí Bolívar 54948e4108 .github: add workflows/bug_snapshot.yaml
This creates a new GitHub workflow that snapshots open bugs in a
compressed format that is convenient to extract for later analysis in
a Python script, using scripts/make_bugs_pickle.py.

The workflow is only run on demand. This allows us to run it during
the weekly release readiness meeting, right after we have finished the
initial bug triage for the week. That ensures that results are as
fresh and relevant as possible.

The resulting file is uploaded to S3; with the goal of enabling later
tracking and analysis.

Getting the analysis scripts themselves merged into Zephyr is left for
future work. This commit just allows us to get the data.

Co-authored-by: Stephanos Ioannidis <root@stephanos.io>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-24 18:48:03 +02:00
Stephanos Ioannidis e09f78a414 ci: doc-publish: Do not run for pull requests
GitHub Actions may trigger the `workflow_run` event type when the
pull request source branch name matches one of the branches specified
under `branches:`.

This commit updates the documentation publish workflow to skip when the
preceding event type is `pull_request`, in order to prevent pull
request documentation from being uploaded as main documentation.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-20 23:26:14 +09:00
Stephanos Ioannidis 968d01732c ci: Update to Zephyr SDK 0.14.2
This commit updates the CI workflows to use the Zephyr SDK 0.14.2 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-19 11:26:06 -07:00
Stephanos Ioannidis 702677ebee ci: Switch to CI image 0.23.3
This commit updates the CI workflows to use the CI image 0.23.3, in
order to pull in the Zephyr SDK 0.14.2 and other minor enhancements
and bug fixes detailed in the docker-image release notes.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-05-19 11:26:06 -07:00
Gerard Marull-Paretas 9e323f1293 ci: doc-build: embed doc preview link to GH summary
Github summary is rendered using GH markdown engine, so hopefully
documentation preview link will be clickable. This change should improve
user experience, as one had to manually select and copy+paste the URL.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-18 02:01:54 +09:00
Anas Nashif 367b962c28 ci: twister generates testplan.json
use json testplan, not CSV. Twister has migrated away from CSV.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-13 15:53:04 -04:00
Anas Nashif f089f964fd twister: update ci options for twister
Now that we have partially oerhauled twister in the tree, modify actions
with new options:
- not reporting filtered tests is now default
- output is json, not csv

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-13 12:57:37 -04:00
Anas Nashif bb6f94c5a1 Revert "ci: run twister with CONFIG_LEGACY_INCLUDE_PATH=n"
This reverts commit e4ebba8025.

This is still not ready. We have lots of usages of old include paths.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-09 13:59:07 -04:00
Gerard Marull-Paretas e4ebba8025 ci: run twister with CONFIG_LEGACY_INCLUDE_PATH=n
Make sure all tests are run with the legacy include path option
disabled. This should prevent code not using includes with the
<zephyr/...> prefix to pass tests and so getting merged.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-09 12:45:29 -04:00
Gerard Marull-Paretas 6388778fb1 ci: doc-build: update Doxygen download URL
Doxygen only serves the latest couple of releases from their website.
However, all releases (including the old ones) can be downloaded from
Sourceforge.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-05-07 15:08:35 +09:00
Anas Nashif 0f64fdfbfd action: doc: use doxygen 1.9.4
1.9.2 distribution does not exist any more. Use the 1.9.4 which is the
latest.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-05-06 09:19:46 +09:00
Stephanos Ioannidis 27b5ef6d01 ci: Update to Zephyr SDK 0.14.1
This commit updates the CI workflows to use the Zephyr SDK 0.14.1 for
building and testing Zephyr in the CI.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-19 09:15:06 -04:00
Stephanos Ioannidis 43a56c2a2d ci: Switch to GitHub Container Registry
This commit updates the CI workflows to pull the CI image from the
GitHub Container Registry (GHCR) instead of the DockerHub, as part of
the effort to move away from using the DockerHub.

The rationale is as follows:

1. DockerHub imposes an impractical pull rate limit (200 pulls per
   6-hour period) that can easily be exceeded in a high volume CI like
   that of the Zephyr Project.

2. GitHub Container Registry is provided by the GitHub and offers
   better integration with the GitHub Actions (e.g. access permissions
   and tokens).

3. DockerHub offers very limited features for free accounts compared to
   the GitHub Container Registry.

Note that the CI image is still available on both GitHub Container
Registry and DockerHub, and third-party users are free to choose
whichever they prefer.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-19 09:15:06 -04:00
Stephanos Ioannidis f131c11318 ci: Add container owner mismatch workaround
The owner UID of the GITHUB_WORKSPACE directory may not match the
container user UID because of the way GitHub Actions runner is
implemented, and this can cause the Git operations to fail unless the
workspace directory is explicitly listed as a "safe directory."

For more details, refer to the following GitHub issue:

actions/checkout#760

Remove this workaround when GitHub comes up with a fundamental fix for
this problem.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-19 09:15:06 -04:00
Stephanos Ioannidis 55bc776104 ci: Remove GitPython installation step
This commit removes the GitPython package installation step from the CI
workflows since this package is now installed by default since the CI
image 0.23.0.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-19 09:15:06 -04:00
Stephanos Ioannidis db6f27b4c2 ci: Switch to CI image 0.23.0
This commit updates the CI workflows to use the CI image 0.23.0.

Note that the CI image 0.23.0 has had a major internal overhaul and
comes with higher risks than the normal updates.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-19 09:15:06 -04:00
Stephanos Ioannidis 13f382287a ci: twister: Trigger on release branches
This commit updates the Twister workflow to trigger on all pushes and
pull requests to the release branches.

Note that this change in itself does not make the Twister workflow run
on the existing release branches -- what this does is to prepare for
the future release branches to run the Twister workflow in them.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-16 15:53:16 +09:00
Stephanos Ioannidis c726aeacda templates: nomination: Fix 'TSC Project Roles' link
This commit fixes the broken 'TSC Project Roles' link URL, which has
been recently changed with the documentation structure overhaul.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-12 22:21:54 +09:00
Stephanos Ioannidis af0158d693 ci: backport: Update backport action to v1.1.1-3
This commit updates the backport workflow to use the backport action
v1.1.1-3, which introduces the following enhancements:

1. Cherry-pick backport commits with the `-x` option to improve
   traceability.

2. Disable incorrect warning when "rebase merge" method is enabled.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-12 14:10:04 +09:00
Martí Bolívar 434964a504 github: build docs from west 0.13.0a1
Prep work for the west release now that the first alpha is up.
This will allow the docs to be built and reviewed.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2022-04-06 18:39:35 +02:00
Stephanos Ioannidis 8779dbf56f Revert "gh: actions: Triggger the do not merge after manifest runs"
This reverts commit 4bb3039560, which is
no longer necessary because the manifest action now has the required
permissions to trigger another workflow.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-02 09:20:14 -04:00
Stephanos Ioannidis cb331139a8 ci: manifest: Use 'zephyrbot' token to run manifest action
This commit updates the CI manifest workflow to run the manifest action
as the 'zephyrbot' user instead of the 'github-actions' user.

The 'github-actions' user does not have the permissions required to
trigger another workflow and fails to trigger the "Do Not Merge"
workflow when it (un)labels a pull request with the "DNM" label.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-04-02 09:20:14 -04:00
Anas Nashif 033e301e10 ci: compliance: skip codeowner checks
Do not check for CODEOWNER file changes, we are moving away to
MAINTAINERs.yml file instead.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-04-01 17:16:41 -04:00
Carles Cufi 4bb3039560 gh: actions: Triggger the do not merge after manifest runs
For some reason when the manifest action runs and removes the DNM label,
the Do Not Merge workflow doesn't run automatically. Force it running
whenever the Manifest workflow completes to fix this.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2022-04-01 10:12:55 -04:00
Anas Nashif 6756c730d7 ci: add a do not merge workflow for DNM labels
Make PRs labeled with DNM unmergeable to avoid mistakes and accidental
merges.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-30 10:09:32 -04:00
Stephanos Ioannidis 1dd92ec865 ci: doc: Publish pull request docs to builds.zephyrproject.io
This commit updates the CI documentation build workflow to upload the
HTML pull request documentation builds to the S3 builds.zephyrproject.io
bucket so that they are directly accessible from the web.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-30 16:07:57 +09:00
Stephanos Ioannidis 88d64ad56f ci: license_check: Update to scancode action v4
This commit updates the license check workflow to use the v4 release
of the scancode action, which uses a more recent scancode version.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-30 16:06:19 +09:00