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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
This commit removes stale clang-related variables that are not used by
the footprint-tracking workflow.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
This commit removes stale clang-related variables that are not used by
the bluetooth-tests workflow.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
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>
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>
`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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
`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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Pull in the CI docker image v0.22.0, which contains the Zephyr SDK
0.14.0 release, and use the Zephyr SDK 0.14.0 for building and testing
Zephyr in the CI.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The twister workflow was invoking `west config`, which requires a west
workspace to be set up, prior to initialising the workspace via
`west init`.
This commit relocates the `west config` to be run after the workspace
initialisation.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The filter in the testcase.yaml made it impossible for these to run.
Also, the Kconfig names for the options didn't really make much sense
so they were renamed to avoid conflict.
This fixes an issue found by #36433.
Signed-off-by: Yuval Peress <peress@google.com>
ZEPHYR_SDK_INSTALL_DIR is a required environment variable, otherwise the
script fails.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This commit updates the Bluetooth test workflow to fetch all branches
during checkout by specifying the fetch depth of 0, in order to allow
rebasing onto the latest main branch before running the workflow.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
The 'bluetooth-tests' workflow is currently written such that it
only triggers on the pull requests that make changes to the files under
specific paths, which do not include the workflow itself.
This allows the workflow changes to be merged without being tested in
the CI and may lead to CI breakages when such changes contain errors.
This commit adds the workflow itself to the list of trigger paths so
that any changes made to the 'bluetooth-tests.yaml' and
'bluetooth-tests-publish.yaml' workflows are tested in the CI before
merging.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Like in most other actions, rebase the branch on to of the latest main
branch in order to ensure that we pick up any hotfixes.
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
With this setting enabled, Git credentials are not kept after checkout.
Credentials are not necessary after the checkout step since we do not
do any further manual push/pull operations.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Split Bluetooth tests workflow into 2 steps:
- One that runs the actual tests and stored results
- A second one that fecthes and uploads tests results
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Make sure sources are up-to-date before installing any package. This is
causing failures on some workflows.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The -q flag supresses all wget output, even when there is a failure.
This makes it difficult to diagnose CI failures when the download fails.
The --no-verbose flag is a better choice: it is silent enough but it
always shows the outcome.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The documentation supports a special target named "html-fast" that skips
generation of all Kconfig pages. Instead, it creates a single dummy page
where a reference to all existing Kconfig options is placed. This means
that references are resolved, but content is not rendered. Since Kconfig
help is rendered as a literal, chances of breaking documentation
build due to Kconfig changes should be low. The change proposed in this
patch should speed up documentation build on pull requests while a
proper solution is found for the Kconfig docs.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add the documentation build jobs to a concurrency group so that branch
force pushes will automatically cancel in progress jobs.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
When an error happens during the Sphinx build (e.g. due to a broken
reference), the process hangs on CI when run with both `-j auto`
(parallel build) and `-W` (warnings as errors) options. The root cause
of the issue is unknown, and does not seem to happen locally. Parallel
builds are experimental on Sphinx, so they have been disabled on CI for
now. Because CI runner is a single core machine, the build time should
remain equal or similar. The option is still left as default, so local
builds will continue to benefit from parallelization.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
We are reusing already checked out trees that might be in the middle of
a rebase or conflict. Remove files preventing us from doing another
rebase after the tree was reset.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Merge all results from all nodes and generate an HTML report and upload
it as an artifact for review of failures offline.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
If variable exit is not defined, the test is not properly executed.
Note that in case of an actual error the var would be defined and the
test executed properly.
Signed-off-by: Nicolas VINCENT <nicolas.vincent@vossloh.com>
Improve calculation of matrix and move calculations from workflow to the
testplan script. We now generate a file that can be parsed by the action
with the data needed to start twister with the right number of nodes.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
When the number of tests is smaller, but not too small, we still run on
10 builders, if the test is small enough however, we will determine the
number of builders automatically.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Pull in the CI docker image v0.21.0, which contains the Zephyr SDK
0.13.2 release, and use the Zephyr SDK 0.13.2 for building and testing
Zephyr in the CI.
Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
Merged 3 files used to generate the test plan per PR based on the
changes. 2 python scripts and a shell script are now all merged into 1
python script that generates the input file for twister based on a list
of changed files by the PR.
This remove lots of old and obsolete code and simplifies things a bit,
no need anymore for an intermediate script to call twister, we call it
directly in the workflow and use the new test_plan script to generate
the test plan.
This also reenables the recently disabled tag based filtering which had
a bug, bug is resolved in this new implementation.
On push events, we now run twister without the --integration option to
catch any issues in the main branch that were not caught in PRs. PRs
continue to run with --integration enabled. This event (push) is now run
on 15 builders due to the increased size.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Give documentation build up to 30 minutes to finish. This should improve
the user experience when Sphinx hangs due to broken references, a
problem that needs some investigation.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This action replaces current buildkite workflow and uses github actions
to build and run tests in the zephyr tree using twister. The main
differences to current builtkite workflow:
- the action handles all 3 events: pull requests, push and schedule
- the action determines size of matrix (number of build hosts) based on
the change with a minimum of 1 builder. If more tests are built/run
due to changes to boards or tests/samples, the matrix size is
increased. This will avoid timeouts when running over capacity due to
board/test changes.
- We use ccache and store cache files on amazon S3 for more flexibility
- Results are collected per build host and merged in the final step and
failures are posted into github action check runs.
- It runs on more powerful instances that can handle more load.
Currently we have 10 build hosts per run (that can increase depending
on number of tests run) and can deliver results within 1 hour.
- the action can deal with non code changes and will not allocate more
than required to deal with changes to documentation and other files
that do not require running twister
The goal long-term is better integrate this workflow with other actions
and not run unncessarily if other workflows have failed, for example, if
commit message is bogus, we should stop at that check, to avoid wasting
resources given that the commit message will have to be fixed anyways
which would later trigger another run on the same code.
Currently there is 1 open issue with this action related to a github
workflow bug where the final results are not posted to the same workflow
and might appear under other workflows. Github is working on this bug.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Process issues are tracked and do not need to be automatically made
stale.
Suggested-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
Avoid rebasing and instead use the commit range. This avoids issues with
trees having intermediate rebase data after a reboot (due to
cancellation).
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Misc fixes including:
- unique job names
- Change description to mention Bluetooth
- Retry west update
- Use latest unit test publication action
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
- use zephyr runner
- reduce number of builders and adapt matrix to be platform based
- check for changed files and optimize run accordingly, should reduce
build times depending on what has changed
- If no source has changed, skip twister completely.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a code coverage collection action that triggers based on a schedule
on the main branch and posts results to
https://app.codecov.io/gh/zephyrproject-rtos/zephyr
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Set the artifact run_id to the one from the doc-build workflow. This way
the downloaded artifact should always match the one from the build
action that triggered publish.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
To restrict the job to the upstream repository a new `if` entry was
added, however, another `if` was already present (violates yaml).
Combined the conditions into a single expression.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Add a new toctree with reference material, including:
- API docs (Doxygen)
- Kconfig options
- Devicetree bindings
Note that the toctree is rendered manually due to the limitations Sphinx
has when it comes to including relative URLs. Hardcoding absolute URLs
in toctrees is possible, but that means we'd need to update the toctree
on every release (to point to /version/ URL), and downstream users of
the documentation would have to manually patch the toctree with their
own URL. In order to make local builds work, version prefix is only
added if publish tag is provided.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Create a template for nominating GitHub users for an elevated
permission levels. Update the TSC Project Roles page to reference the
nomination template and add clarity to the GitHub permissions allowed at
each level.
Signed-off-by: Keith Short <keithshort@google.com>
Upgrade to Doxygen version 1.9.1. Package is downloaded directly from
the Doxygen official site, since it is not yet part of the latest Ubuntu
LTS. Note that libclang1-9 and libclang-cpp9 are runtime dependencies
required by Doxygen.
NOTE: Documentation can still be built with older Doxygen versions (e.g.
1.8.17 shipped with latest Ubuntu LTS), however, the template used in
upcoming patches claims to work better with Doxygen 1.9.1 or 1.9.2.
Using 1.9.1 as theme v1.6.0 has some issues on mobile view when using
Doxygen 1.9.2, see
https://github.com/jothepro/doxygen-awesome-css/issues/47.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Now that SDK 0.13.1 is released bump buildkite & github workflows
to use this SDK version and the docker image that has it.
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Use 0.11.1 to build the docs. The docstrings are the same as 0.11.1a1,
so it doesn't make a difference in the output, but let's keep things
clean now that the final release is up.
Fix typos in the release notes.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
With CMake minimum required as 3.20.0 we update CI to use docker image
v0.18.2, which contains CMake 3.20.5.
For doc builds we fetch the same CMake v3.20.5 but using pip as the doc
build doesn't use the docker image.
The main reason for increasing CMake version is better toolchain
support.
The decision to bump the CMake version was taken by the Toolchain WG.
Better toolchain support is added in the following CMake versions:
- armclang, CMake 3.15
- Intel oneAPI, CMake 3.20
- IAR, CMake 3.15 and 3.20
Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
To get confirmation this will work before I cut the release. That
pre-release is already available on PyPI.
Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
This reverts commit 40a5cf6016. Debug
information is no longer necessary as doc-publish workflow is now
working correctly.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Enable debug mode and disable quiet option. It should help diagnosing
AWS S3 problems. Some prints have also been added to spot potential
problems.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
`github.event.workflow_run.head_branch` contains the actual release tag
on releases, so it is required. It does not affect the publication of
"latest".
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Publish action has been refactored into a workflow_run based action.
The action is now triggered after a successful doc-build workflow run
(only on main/release branches). The artifacts are downloaded from the
build run and published accordingly. Publish code has been simplified a
bit and PDF upload has been added.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Artifacts will be required for the publish workflow, so do not let the
build workflow succeed without them being uploaded correctly.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
Storing west version in a single place avoids keeping duplicates in each
job. Also added a note on why pinning version is important: west
docstrings are extracted from the installed version.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The pip cache should be discarded if any of the required dependencies
changes, so use the hash of the requirements file as a key source.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
xz compression reduces the html archive sice from ~350MB to ~90MB (at
the cost of more compression time). Compression has been moved to a
separate step.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
This action will run on each PR and will post a comment if footprint of
some reference applications has changed, initially as a FYI but later it
will be enforced when footprint for example is gone beyond a certain
threshold.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Enable the built-in Sphinx Graphviz extension to allow creating Graphviz
diagrams natively on the source files. Some style defaults have been
enabled to make sure diagrams are consistent and have good quality in
both light and dark modes.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>