Commit graph

392 commits

Author SHA1 Message Date
Stephanos Ioannidis d300a6a268 ci: Update to Zephyr SDK 0.14.0
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>
2022-03-25 17:17:53 -04:00
Stephanos Ioannidis a4d4384447 ci: twister: Run west config after workspace initialisation
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>
2022-03-23 15:31:14 +09:00
Yuval Peress 347a297da2 modules: fff: Fix issue with tests being skipped in CI
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>
2022-03-22 12:33:58 +01:00
Nazar Kazakov f483b1bc4c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-18 13:24:08 -04:00
Nazar Kazakov 9713f0d47c everywhere: fix typos
Fix a lot of typos

Signed-off-by: Nazar Kazakov <nazar.kazakov.work@gmail.com>
2022-03-14 20:22:24 -04:00
Gerard Marull-Paretas 79ca39b60b ci: errno: check the workflow when changed
Make sure workflow is run when it is updated.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-08 11:29:40 +01:00
Gerard Marull-Paretas b3ec1f6d1e ci: errno: run if CI script has changed
The CI job should also run if the CI script has changed.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-08 11:29:40 +01:00
Gerard Marull-Paretas f629ff70d8 ci: errno: add required ZEPHYR_SDK_INSTALL_DIR env var
ZEPHYR_SDK_INSTALL_DIR is a required environment variable, otherwise the
script fails.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-03-08 11:29:40 +01:00
Anas Nashif 1925c69e81 ci: footprint: call west update
Call west update after git checkout.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-04 10:27:00 -06:00
Stephanos Ioannidis 2d4b95104e ci: bluetooth-tests: Fetch all branches during checkout
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>
2022-03-04 10:11:13 -05:00
Stephanos Ioannidis ff5591e689 ci: bluetooth-tests: Trigger on workflow changes
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>
2022-03-04 10:11:13 -05:00
Anas Nashif 02eb06f85e ci: twister: do not report skipped tests
Do not report skipped tests to reduce size of report and to make it
parseable.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-03 12:12:03 -05:00
Carles Cufi eba55eacee actions: bluetooth: Rebase before running tests
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>
2022-03-03 08:44:55 -05:00
Gerard Marull-Paretas 6539ac752e ci: make git credentials non-persistent
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>
2022-02-24 09:00:07 -08:00
Gerard Marull-Paretas 5fab2efc79 ci: split Bluetooth workflow
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>
2022-02-23 16:11:27 -05:00
Anas Nashif 18e0e3e31e ci: run full twister twice a week
Now that we are stable in CI, run full twister twice a week for better
coverage.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-16 16:34:58 +01:00
Anas Nashif 8e70d04193 actions: twister: build/run module tests and samples
This step was dropped when we moved to to GH actions, add it back.

Fixes #41305

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-09 19:47:36 -05:00
Anas Nashif 773242cbb7 actions: west/devicetree: exclude python 3.6 on windows
This version of python is not available anymore. Excluding for now to
unblock CI.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-02-08 16:10:46 -05:00
Flavio Ceolin ae0297e8de github: Update github security page
Update supported versions on github security page.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2022-01-28 16:32:02 -05:00
Gerard Marull-Paretas ac245769ab ci: run apt-get update before install
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>
2022-01-26 08:20:24 -05:00
Antony Pavlov f1a0681303 actions: add label for MIPS architecture area
Add automatic labeling of the MIPS arch area.

Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
2022-01-24 09:55:48 -05:00
Gerard Marull-Paretas 35e8f42bc1 ci: doc-build: use --no-verbose when using wget
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>
2022-01-07 10:41:59 -05:00
Gerard Marull-Paretas 08e8dfcd6e ci: doc-build: run apt-get update before install
Make sure the package index is always up-to-date before installing.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2022-01-07 10:40:54 -05:00
Gerard Marull-Paretas 4985c69ab9 ci: doc-build: skip Kconfig docs build on pull requests
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>
2021-12-13 19:34:59 -05:00
Gerard Marull-Paretas 345cceabb1 ci: doc-build: use concurrency group to cancel in progress builds
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>
2021-12-10 16:48:15 -05:00
Gerard Marull-Paretas 4dae2433d4 ci: doc-build: disable parallel build
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>
2021-12-10 16:42:57 -05:00
Anas Nashif 44f51da9a5 actions: twister: remove temporary workaround asking for rebase
This is not needed anymore.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-12-08 10:34:00 -05:00
Anas Nashif 918f0aac19 actions: twister: cleanup all west modules
In case of issues wuith module repos, cleanup all, including the
bootloader tree.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-12-08 08:43:27 -05:00
Anas Nashif 329321714d actions: reset git tree after rebase issues/conflict
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>
2021-12-05 10:53:50 -05:00
Anas Nashif 0e2c0767ca actions: twister: upload junit report as an artifact
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>
2021-12-05 10:53:50 -05:00
Anas Nashif d9c5aee2c9 actions: twister: fix schedule condition
Fix shell condition syntax.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-12-05 10:53:50 -05:00
Nicolas VINCENT 561ae900b5 actions: compliance: quote around var
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>
2021-12-03 07:42:17 -05:00
Anas Nashif c8fd21d204 actions: twister: remove existing ccache directory
if .ccache exists, remove it and replace it with new .ccache directory.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-12-02 05:48:47 -05:00
Anas Nashif 8d40928b2a actions: twister: determine nodes in python script
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>
2021-11-29 20:06:24 -05:00
Anas Nashif b3ca5ab82b actions: twister: limit daily job to 60 builders
Keep some builders available for pull requests.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-28 20:35:40 -05:00
Anas Nashif 8459757f16 actions: twister: do not schedule on non main branches
We do not want to schedule jobs on branches other than the main branch.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-28 20:35:40 -05:00
Anas Nashif aa04df6cd5 actions: twister: upload testplan as an artifact
Upload test plan file as an artifact for later verification.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-28 20:35:40 -05:00
Anas Nashif 798a66fdaf actions: twister: load modules from cache
We have a local cache, so tell west to clone modules from cache if
available.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-28 20:35:40 -05:00
Anas Nashif f856f69202 actions: twister: apply a new strategy from smaller test plans
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>
2021-11-28 20:35:40 -05:00
Stephanos Ioannidis 3debfe3365 ci: Update to Zephyr SDK 0.13.2
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>
2021-11-25 06:58:45 -05:00
Anas Nashif 632628ec63 actions: twister: remove cleanup job
We now cleanup at the beginning.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-24 23:12:10 -05:00
Anas Nashif 3fcecc3b11 actions: check of testplan exists
Check if test plan exist before trying to read it.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-24 23:02:42 -05:00
Anas Nashif 0b2df8f41c actions: twister/clang: cleanup test plan generation
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>
2021-11-24 22:54:25 -05:00
Erwan Gouriou c02197ece7 .github: Bug report description: Request more information
Request more information at bug submission.

Fixes #40356

Signed-off-by: Erwan Gouriou <erwan.gouriou@linaro.org>
2021-11-24 14:23:09 -05:00
Gerard Marull-Paretas f6dd3bc982 ci: doc-build: set timeout to 30 minutes
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>
2021-11-24 12:36:58 -05:00
Anas Nashif f2d2a48b96 actions: twister: add a cancel job very early on
Cancel using GH runner for faster execution.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-23 06:42:23 -05:00
Anas Nashif 6ab1a7cb22 actions: clang: add branch name to ccache key
Add branch name to the ccache key to avoid cache contamination from old
branches.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-23 06:42:23 -05:00
Anas Nashif 5c24fcb4ae actions: run twister using github action
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>
2021-11-23 06:42:23 -05:00
Martí Bolívar f0a2a17bdc .github: exempt the 'Process' label from stale issues
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>
2021-11-19 15:51:56 -06:00
Anas Nashif a30e71a7de actions: clang: set reporting before calling twister
Otherwise reporting is skipped and failures are not recorded.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-16 16:23:43 -05:00
Anas Nashif 5595e2a739 actions: clang: use ccache
Use ccache to speed up builds.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-16 16:23:43 -05:00
Anas Nashif 977db5b049 actions: retry west update on various workflows
Retry west when update fails and use update.narrow configuration.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-16 16:23:43 -05:00
Anas Nashif 43622e0864 actions: clang: fix typo
Add missing ")".

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-16 13:02:57 +01:00
Anas Nashif 9852790811 actions: clang: do not rebase, use commit range
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>
2021-11-16 06:48:20 -05:00
Anas Nashif add37df1bc actions: run code coverage only on main tree
Run code coverage reporting on main zephyr repo only.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-16 06:48:20 -05:00
Anas Nashif aace2da700 actions: follow namespace for job names
To avoid conflicts in reporting.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-15 15:07:07 -06:00
Anas Nashif 5da807d57d actions: conflict: update version
Use released version instead of master.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-15 15:07:07 -06:00
Anas Nashif e50cbdb9f8 actions: compliance: minor improvements
Namespace job names and retry west update if something goes wrong the
first time.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-15 15:07:07 -06:00
Anas Nashif e49240941f actions: bluetooth: rename action and make it obvious
Rename to make action file name obvious referring to bluetooth, rather
than the tool used.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-15 15:07:07 -06:00
Anas Nashif 75b7a35aec actions: bluetooth: fix job names and description
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>
2021-11-15 15:07:07 -06:00
Anas Nashif c3a1b4e8f3 action: codecov: do not run on weekends
No need to run on weekends, nothing much happens, so lets save some
resources.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-13 17:29:54 -05:00
Anas Nashif 5ce51a91da actions: fix typo in clang action
Fix a minor typo in action and always set variable controlling reports.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-13 17:29:54 -05:00
Anas Nashif 5832a8e19f action: configure git user
Configure git for rebase by setting user name, email.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-13 15:19:38 -05:00
Anas Nashif 8a4f0ae889 actions: optimize clang actions
- 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>
2021-11-13 09:30:25 -05:00
Anas Nashif 81e6ba8ba0 ci: add code coverage action
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>
2021-11-12 08:18:24 -05:00
Gerard Marull-Paretas 3c5e937ae2 ci: doc-publish: specify artifacts run_id
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>
2021-11-09 14:50:27 -05:00
Gerard Marull-Paretas 4ae9fb6ce5 ci: doc-publish: fix run condition syntax
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>
2021-11-05 08:23:06 -04:00
Martí Bolívar 612409d39d doc: west 0.12 docs
Update the documentation for this release.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-11-04 19:30:42 -04:00
Anas Nashif ab83b6e850 actions: only publish docs from zephyr repo
Do not run doc publication job on other reports, only on the main zephyr
repo.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-11-04 10:20:29 +01:00
Gerard Marull-Paretas 7fe6b6f0bf ci: docbuild: update to latest Doxygen
Use Doxygen 1.9.2, the latest version.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-11-04 09:57:01 +01:00
Gerard Marull-Paretas b4f968cf9d doc: add a toctree with reference material
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>
2021-11-02 13:24:40 +01:00
Keith Short fbf39f2d7e templates: Create GitHub nomination template
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>
2021-10-13 07:15:28 -04:00
Gerard Marull-Paretas bed8f352e4 ci: doc: upgrade to Doxygen 1.9.1
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>
2021-10-07 11:54:23 -04:00
Henrik Brix Andersen d198da7bb4 actions: exclude Python 3.6 tests on macos-latest
Python 3.6 support is no longer available on macos-latest. Exclude it.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2021-10-05 19:37:02 -04:00
Anas Nashif 4a35785240 templates: fix label for feature request
Fix label to match what we have on Github.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-09-29 14:13:48 -04:00
Kumar Gala b312470bbb ci: Bump to use SDK 0.13.1
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>
2021-09-21 13:03:02 -04:00
Anas Nashif 0f9533e3d5 actions: run get_maintainer.py to validate paths
Run script which would error on any missing paths or invalid syntax.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-09-16 09:13:01 -04:00
Kumar Gala fa549139df ci: bump to docker image 0.18.3
Update to 0.18.3 to hopefully get fix for uefi-run needed by
qemu_x86_64.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-09-01 14:38:45 -04:00
Martí Bolívar 49e06ea1e4 .github: update action-manifest SHA
Use the latest.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-08-31 22:16:58 -04:00
Anas Nashif 5d988fde05 actions: run footprint action in zephyr repo only
Run footprint actions only on the zephyr repo.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-08-23 12:49:43 -04:00
Martí Bolívar f442266d09 doc: west release 0.11.1 follow-ups
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>
2021-08-20 06:23:49 -04:00
Flavio Ceolin 3d3c831563 github: Update security page
Update security page with the current maintained versions.

Signed-off-by: Flavio Ceolin <flavio.ceolin@intel.com>
2021-08-17 08:43:19 -05:00
Torsten Rasmussen e78cb747bd ci: Bump to use CMake 3.20.5
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>
2021-08-16 11:03:32 -05:00
Martí Bolívar 212da336f0 doc-build.yml: build west 0.11.1a1
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>
2021-08-09 13:29:57 -04:00
Kumar Gala 8566bfec26 ci: github: bump SDK usage to 0.13.0
Now that SDK 0.13.0 is out, bump all github workflows to utilize it.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-08-03 22:58:14 -04:00
Gerard Marull-Paretas 89f6c8a39d Revert "ci: doc: enable debug for aws s3 step"
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>
2021-07-30 16:55:00 -04:00
Gerard Marull-Paretas 40a5cf6016 ci: doc: enable debug for aws s3 step
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>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas 5268f28e93 ci: doc: use copy for PDF
Use `cp` instead of `sync` for the PDF file.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas adb59f1cc1 ci: doc: expose head branch to aws s3 upload step
`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>
2021-07-30 13:59:13 -04:00
Gerard Marull-Paretas f650710ba7 ci: doc: adjust build workflow name
Adjust the name to "Documentation Build".

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 1c41b5dae8 ci: doc: refactor doc publish
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>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 0e0da34f41 ci: doc: set doc tag when building
Set the correct dog tag based on the Github event name.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 95156ce0be ci: doc: do not succeed if artifact upload fails
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>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas cffc9319ac ci: doc: use an env var to store west version
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>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 8b03337fe1 ci: doc: run doc build on schedule and releases
The documentation build workflow is re-used for the periodic build and
releases.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 24446ac5a9 ci: doc: remove unnecessary west path update step
The step is not necessary to build the docs correctly, so remove it.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 77a39a4b51 ci: doc: use the hash of requirements file as cache key
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>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 3fbb8ba039 ci: doc: do not let west init fail
Modules are required to generate, for example, full Kconfig docs.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 039888edbf ci: doc: use xz compression for html archive
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>
2021-07-30 08:21:02 -04:00
Gerard Marull-Paretas 5fa56445b3 ci: doc: add support for PDF build
Add support for building the PDF version of the documentation.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-30 08:21:02 -04:00
Anas Nashif c206c8fb98 actions: footprint-tracking: install gitpython
install missing packages for the workflow to run.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-07-21 17:08:36 +03:00
Anas Nashif dfc259d13c action: footprint tracking
Add action and scripts for footprint tracking.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-07-21 14:54:30 +03:00
Anas Nashif 8d34fbad9f actions: add footprint diff action
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>
2021-07-21 14:54:30 +03:00
Gerard Marull-Paretas abda02ff0b doc: ci: publish: install graphviz
Graphviz was missing from the doc publish workflow.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-21 14:08:15 +03:00
Gerard Marull-Paretas 4127138475 doc: enable graphviz extension
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>
2021-07-20 19:54:52 -04:00
Gerard Marull-Paretas 5b939ea731 ci: doc: fix build target for doc publish
The build target was not updated on the doc publish workflow (htmldocs
-> html).

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-16 21:15:43 -04:00
Gerard Marull-Paretas 0d0b0ce10e doc: make: adjust Makefile
Adjust Makefile according to latest CMake changes.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-07-14 15:47:11 +02:00
Marc Herbert e21ffe6baa requirements-doc: add PyYAML which removes dependency on -base
This means a light requirements-doc.txt is enough for doc writers. See
previous discussions in PR #31199 and PR #31239

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-06-16 10:39:08 +02:00
Katsuhiro Suzuki 262c7deca6 actions: replace duplicated label for RISCV
This patch removes duplicated label RISCVv32/64 and replace into
RISCV that has already used in GitHub.

Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net>
2021-06-10 07:53:49 -04:00
Gerard Marull-Paretas a140a249b3 doc: only enable -W option on CI
The usage of -W may lead to the loss of the Sphinx build environment
even for small typos. Remove this option from the defaults but still
enable it on CI, where the fail-fast behavior given by -W is desired.

Fixes #36033

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-06-08 09:58:32 -05:00
Carles Cufi c5e50ef0e2 workflows: backport: Switch to using main
The  workflow was pointing to `master` instead of `main`, which
prevented it from running after the branch was renamed.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-31 15:40:33 -04:00
Gerard Marull-Paretas 9c3450d87e ci: labeler: add Power Management
Add support for Power Management automatic labeling.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-27 13:28:29 -04:00
Gerard Marull-Paretas 8743ed9509 ci: doc: force quiet mode
Force quiet mode in CI, since interactive output adds no value there.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-25 19:38:11 +02:00
Kumar Gala c71e2dc007 actions: clang: invoke twister with -M to keep size down
Use the -M option to cleanup as we go to deal with any
disk space issues.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-05-19 10:43:43 -05:00
Anas Nashif 1b155dfbb9 actions: publish docs every 3 hours
Publish docs every 3 hours, this way fixes early in the morning are
reflected online earlier and no need to wait until the next day.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-18 19:47:32 -04:00
Anas Nashif 6fa1e8650f actions: fix path of API doc publishing
Fix path for publishing api docs when running latest docs.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-18 15:29:29 -05:00
Gerard Marull-Paretas 442f631af1 ci: doc: remove unused step
`check-warns` step is no longer used since the introduction of
`warnings_filter` extension.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-05-18 15:27:46 -05:00
Anas Nashif 5e9d434069 actions: publish docs twice daily
Publish docs twice daily, this way fixes early in the morning are
reflects online same day.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-17 11:49:36 -04:00
Carles Cufi 2189c08e4e ci: Add an errno.h check to CI
Add a very simple check that verifies that new error numbers are added
according to the errno.h file in newlib, in order to maintain
compatibility with it.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-05-17 09:11:15 -04:00
Kumar Gala 5d97f8ce4c ci: Update to docker image v0.17.1
Update docker image to v0.17.1 to get SDK 0.13.0-alpha-1 to
allow testing of ARC64 as well as the SDK update to gcc-10.3 and
qemu 6.0.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2021-05-05 17:56:53 -05:00
Anas Nashif c8a2432955 ci: use new docker image based on ubuntu 20.04
Update to new docker image with various updates including renode, llvm
and the base distro (moving from ubuntu 18.04 to 20.04).

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-05 11:04:36 -05:00
Martí Bolívar faf68fb213 doc: west: add 0.11.0 docs
This is mainly a feature release which includes a few ways to speed up
'west update', along with a couple of fixes and other changes.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-05-04 15:29:36 -05:00
Anas Nashif a4643dc132 actions: guidelines: rebase tree
Rebase tree to get the right commit change.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-03 17:11:12 -04:00
Anas Nashif 0b67f90b2d ci: simplify action step
return after failure, do not check again in another if statement.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-03 08:08:25 -05:00
Anas Nashif 6eb5063ddc ci: add coding guideline workflow
Use coccinelle rules to detect coding guideline violations on submitted
code.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-30 22:09:43 -04:00
Anas Nashif c0bfad6214 actions: bsim: fix typo
Fix typo in workflow allowing comments to be published to the PR.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-26 17:38:48 +02:00
David Brown 84b1659675
Update SECURITY.md
Update 1.14.x LTS verfsion.
2021-04-26 08:44:02 -06:00
Anas Nashif e366d7948a ci: remove bsim from buildkit execution
We now have a dedicated action for this.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-23 21:40:10 -04:00
Anas Nashif d93297b3d0 actions: clang: do not post comment to pr
disable comments for now to avoid any confusion.
also update action version to v1.12

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-22 21:15:07 -04:00
Anas Nashif d0d1bc4452 action: clang: reduce matrix size
With balancing in twister fixed, reduce matrix size for now, since we
are running tests only for native_posix.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-22 21:15:07 -04:00
Anas Nashif 4d4b0a09b8 actions: do not run twister with integration
We already select the platforms we want to run on, so do not run with
--integration.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-22 21:15:07 -04:00
Anas Nashif 9021f6fdd2 ci: add initial clang action
Action to verify clang builds on select platforms.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-22 07:42:58 -04:00
Anas Nashif d881d7227f actions: limit issue tracker to main project
Run this action only on the main zephyr tree. Do not run in forks.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-04-13 17:39:39 -04:00
Gerard Marull-Paretas d7754cf2c9 ci: upgrade core python dependencies
Upgrade core Python dependencies (setuptools, wheel, pip) at a system
level. Some old versions of pip do not resolve the dependency chain
correctly, this is why it has been added to the list.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-08 15:21:40 +02:00
Gerard Marull-Paretas 7a6efbd9ed ci: remove old paths in doc-build workflow
Documentation build still contained references to the old top Makefile
and old known-issues folder.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-08 09:55:16 +02:00
Gerard Marull-Paretas 8cf054a1ab ci: trigger doc build if requirements change
If Python requirements for docs change build should also be triggered.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-04-07 12:12:07 -04:00
Carles Cufi d5c3be3948 actions: Do not set the bug label on failed backports
Failing a backport is not a bug per-se. We create a GitHub issue to be
able to track the Pull Requests that failed to backport, but they should
not be considered bugs.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-04-06 16:29:22 -04:00
Carlo Caione b3e1fa3ce7 labels: Rename ARM_64 to ARM64
Because Zephyrbot is already using ARM64.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-04-06 08:33:32 -04:00
Martí Bolívar 5332847644 dts: separate DT libraries from gen_defines.py
We are now in the process of extracting edtlib and dtlib into a
standalone source code library that we intend to share with other
projects.

Links related to the work making this standalone:

    https://pypi.org/project/devicetree/
    https://python-devicetree.readthedocs.io/en/latest/
    https://github.com/zephyrproject-rtos/python-devicetree

This standalone repo includes the same features as what we have in
Zephyr, but in its own 'devicetree' python package with PyPI
integration, etc.

To avoid making this a hard fork, move the code that's being made
standalone around in Zephyr into a new scripts/dts/python-devicetree
subdirectory, and handle the package and sys.path changes in the
various places in the tree that use it.

From now on, it will be possible to update the standalone repository
by just recursively copying scripts/dts/python-devicetree's contents
into it and committing the results.

This is an interim step; do NOT 'pip install devicetree' yet.
The code in the zephyr repository is still the canonical location.

(In the long term, people will get the devicetree package from PyPI
just like they do the 'yaml' package today, but that won't happen for
the foreseeable future.)

This commit is purely intended to avoid a hard fork for the standalone
code, and no functional changes besides the package structure and
location of the code itself are expected.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-04-02 08:28:12 -05:00
Carlo Caione a43f3bade8 arm/arm64: Fix misc and trivials for ARM/ARM64 split
Fix the header guards, comments, github labeler, CODEOWNERS and
MAINTAINERS files.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2021-03-31 10:34:33 -05:00
Anas Nashif 301ee9792d ci: run issue count workflow every 10 minutes
Do not run workflow on each issue change, instead run every 10 minutes.
Running this on every issue open/close/label will cause reaching API
call limit very fast when issues are automatically created from coverity
or during bug triaging sessions.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-03-31 07:44:39 -04:00
Martí Bolívar 8697935882 .github: doc-build: run on scripts/dts change
Some of the generated documentation depends on the devicetree scripts.
E.g. the bindings index uses edtlib.

We don't have a well-defined interface boundary here for managing
dependencies, so let's just add the entire dts directory to the
'paths' glob list in doc-build.yml. This will ensure we don't
accidentally change some DT implementation detail in a way that breaks
the docs.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-30 20:41:28 -04:00
Gerard Marull-Paretas 32b71cbcdc doc: move Makefile to doc folder
Move the top-level Makefile to the documentation folder as it is only
used for documentation.

Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
2021-03-29 10:59:28 -04:00
Carles Cufi 799a87072a actions: Update manifest action to v1.1.0
This new release adds support for diffs as well as being able to list
added and removed projects.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-03-26 17:43:20 -04:00
Carles Cufi f938cc427e doc: contribute: Rework the process for external code inclusion
As per the agreements in the Process Group Meeting, rework the procedure
to include external code so that it reflects the reality of Zehyr today
with the choice between modules and integration into the main tree, and
decouple the non-Apache v2.0 license side of the question from the
process from importing 3rd-party code.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-03-26 14:48:48 +01:00
Carles Cufi 153a46620c actions: backport: Update to 1.1.1-1 and enable issue creation
Update the backport action to 1.1.1-1, which adds support for issue
creation when a backport fails.
In our case, label the issue with the "backport" and "bug" labels.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-03-26 10:51:10 +01:00
Carles Cufi 3f4109b982 actions: manifest: Pin to v1.0.0
In order to develop further functionality in the action-manifest repo,
pin the version to v1.0.0 here.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-03-25 09:14:52 -04:00
David Brown 911ba334a0 .github: Create Github security policy document
This document will show up when a viewer selects the "Security" tab, and
selects the "Security Policy".  It has a brief introduction, and directs
to the official documentation of the security policy.

Signed-off-by: David Brown <david.brown@linaro.org>
2021-03-20 06:06:57 -04:00
Martí Bolívar 2ea77dd019 ci: doc-build: bump west version
This should produce no changes in the docs since there are no API
changes in this point release, but let's just keep the build up to
date with the version being documented for cleanliness.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-17 12:50:33 -05:00
Martí Bolívar ffadff947c .github: doc-build: use west 0.10.0a1
Testing for the release itself.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-03-11 11:08:25 +01:00
Emil Gydesen eb2b5fe4c9 actions: Add Bluetooth Audio label to Bluetooth Audio directory changes
Automatically apply the "area: Bluetooth Audio" label to changes in the
subsys/bluetooth/audio directory.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-02-16 08:55:17 -05:00
Anas Nashif 09cb9ab259 actions: use a different user for this action
PRs created by github bot do not trigger new workflows, so we have to
use a different user.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 18:40:09 -05:00
Anas Nashif a2078890d4 actions: run backporting bot only on main
Backporting bot should only run on main branch, not release branches.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 18:40:09 -05:00
Anas Nashif 666949cda1 action: publish documentation when VERSION is changed
When VERSION is changed, do not wait for daily cron and publish
documentation immediately to keep things in sync.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-14 11:52:38 -05:00
Anas Nashif 769d91b922 actions: publish release docs to correct folder
We have been publishing docs to the wrong folter on AWS S3. We still had
the official docs published to the correct place manually though, so all
was good.

This change will eliminate the manual step of publishing documentation
and will put things where they belong.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-12 11:07:43 -05:00
Anas Nashif e4ffad6725 labels: label release note changes
Set label 'Release Notes' when release files are changed.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-08 11:49:49 -05:00
Anas Nashif 2e9e241f29 ci: add action to create release
Action to create release when tag is pushed. This will additionally
create an SPDX file and the changelog since the last tag.

The release is created as a draft and will have to be modified by the
release engineer and published when ready.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-02-03 09:55:18 -06:00
Carles Cufi 777c5c9941 actions: compliance: Rebase before running west update
Instead of rebasing just before running the compliance script, do so
before running `west update`, so that the main manifest, west.yml, is up
to date with the latest master before west inspects it.

Fixes #31327.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2021-02-03 09:45:50 -05:00
Maureen Helm 1778e117d7 actions: Fix typo in twister action name
Replaces "Twsiter" with "Twister" in the associated GitHub Action name.

Signed-off-by: Maureen Helm <maureen.helm@nxp.com>
2021-01-29 14:22:25 -05:00
Martí Bolívar de73db9dbc doc-build: build with west 0.9
This is required to get the relevant API docstrings.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2021-01-28 08:23:52 -05:00
Anas Nashif f9b76ca76e ci: compliance: fail on errors
Fail workflow in case of script crashes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-22 08:55:06 -05:00
Anas Nashif 52ec40cbdf actions: run manifest workflow only on manifest changes
Run the manifest workflow only when west.yml changes.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-19 11:50:39 -06:00
Marc Herbert fcb8552b4a doc-build.yml: pip3 install wheel, fix 'invalid command bdist_wheel'
As recommended by @mbolivar-nordic and... stackoverflow.

While I could not reproduce this locally, this should get rid of many
non-fatal pip errors in CI all looking like this one:

Building wheels for collected packages: PyYAML, progress, psutil, ...

 Running setup.py bdist_wheel for PyYAML: started
 Running setup.py bdist_wheel for PyYAML: finished with status 'error'

 Complete output from command /usr/bin/python3 -u -c "import setuptools,
  tokenize;__file__='/tmp/pip-build-b3sj5a6m/PyYAML/setup.py';
  f=getattr(tokenize, 'open',open)(__file__);code=f.read().replace(
  '\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))"
  bdist_wheel -d /tmp/tmpvn0bt6xfpip-wheel- --python-tag cp36:

  Failed building wheel for PyYAML
  usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: -c --help [cmd1 cmd2 ...]
     or: -c --help-commands
     or: -c cmd --help

  error: invalid command 'bdist_wheel'

  ----------------------------------------
  Running setup.py clean for PyYAML

Etc.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-01-13 08:01:20 -05:00
Anas Nashif cc0f600753 ci: fix check_compliance workflow
- Use older junitparser, new version is not compatible
- Fetch pull request ref, not master
- add few debug messages

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-12 23:25:37 -05:00
Marc Herbert 2fd1d3ca07 doc-build.yml: add top-level Makefile
Dunno why the top-level Makefile is doc/ specific but it is.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-01-11 19:27:06 -05:00
Anas Nashif 0a98147d04 ci: compliance: setup west modules
Setup a complete workspace with west. Some checks need access to
configured modules.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-01-06 07:53:46 -06:00
Fabio Utzig 831194abe3 ci: remove block copypasta in compliance check
Update copypasta to iterate over a list of files to check.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-12-18 07:50:08 -06:00
Anas Nashif 8b826e59e3 actions: fix issue tracker configuration
prio -> priority

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-15 22:19:37 -05:00
Anas Nashif 687b411525 actions: add issue tracker action
This action will generate a summary page with bug counts and issues
counts for common labels.

The report will be pubished on
https://testing.zephyrproject.org/issues/zephyrproject-rtos/zephyr/index.html

Example:

https://testing.zephyrproject.org/issues/zephyrproject-rtos/docker-image/index.html

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-15 22:03:32 -05:00
Anas Nashif 6be5e02923 actions: use descriptive job names
Use descriptive and unique job names, otherwise we end up with those
showing up in different location with no way to know which is which.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-15 14:47:26 -05:00
Anas Nashif 17b09c2761 ci: rename sanitycheck -> twister
Replace leftover sanitycheck mentions.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-14 14:13:16 -05:00
Øyvind Rønningstad c1b000bfb3 west_cmds.yml: Add itself to path filter
So build is run when west_cmds.yml is changed.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-12-11 20:24:33 -05:00
Øyvind Rønningstad 819b3639a9 sanitycheck_tests.yml: Add itself to path filter
So build is run when sanitycheck_tests.yml is changed.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-12-11 20:24:33 -05:00
Øyvind Rønningstad 9d2e64191c devicetree_checks.yml: Add itself to path filter
So build is run when devicetree_checks.yml is changed.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-12-11 20:24:33 -05:00
Anas Nashif a05d056943 ci: rename sanitycheck -> twister
Change all CI scripts to use the new script name: twister.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-11 14:13:02 -05:00
Øyvind Rønningstad 2fc50c6e9d doc-build.yml: Add itself to path filter
So doc build is run when doc-build.yml is changed.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-12-10 15:38:46 -05:00
Øyvind Rønningstad 5362a88338 doc-build.yml: Add west.yml to path filter
Since modules can affect the doc build.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-12-10 15:38:46 -05:00
Anas Nashif 6658b1938a actions: rename jobs
Do not use default 'triage' job names.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-12-09 08:20:38 -05:00
Carles Cufi cd97cffa79 actions: manifest: Update to latest action revision
The manifest GitHub action now optionally takes a checked out tree in
order to find the merge base of the pull request branch. Provide this to
avoid artifacts in edge cases.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-11-27 20:12:46 +01:00
Emil Gydesen e39ae14f9b actions: Add labels for Bluetooth Controller/Host
Automatically assign the Bluetooth Controller and
Bluetooth Host labels to changes in the controller and
host respecitvely. For this, both Mesh and the Gatt services
will be considered part of the host.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2020-11-27 09:58:34 -05:00
Carles Cufi f97b07bc3f actions: Enable new manifest workflow
The manifest workflow uses the manifest action to detect changes in the
west manifest. It then analyzes the changes and posts labels and a
comment in table format accordingly.

It is meant to be used as a helper bot for developers submitting changes
to modules, reducing the need for manual work and oversight and
automating common operations.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-11-26 12:07:23 -05:00
Max Bachmann 1d4c36486c CI: only release to AWS in the Zephyr repository
Currently, nightly releases are performed in Forks as well.
Since these fail due to missing AWS credentials this causes
a lot of messages about failing builds, this commit disables
them for Forks.

Signed-off-by: Max Bachmann <kontakt@maxbachmann.de>
2020-11-25 08:53:49 -06:00
Eugeniy Paltsev 0699f38f16 ARC: west: mdb runner: record MDB's CLD process pid to file
Record MDB's CLD process pid to file so this process can be
terminated by sanitycheck infrastructure.
Update mdb runners test to be able to handle changes.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
2020-11-11 08:18:38 -05:00
Fabio Utzig 577d588b3a workflows: enable documentation build for Kconfig*
Trigger documentation builds when Kconfig files are changed.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-11-07 08:29:57 -06:00
Kumar Gala fabf40398f ci: github: Update for deprecation of add-path
Github has deprecated add-path, so update the workflows that use it to
the new method of setting the PATH.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-11-04 14:45:08 -06:00
Fabio Utzig 0df18a9163 doc: enable documentation build for known-issues
Changing .known-issues/doc should always trigger a documentation build
so add it to the filters.

Signed-off-by: Fabio Utzig <fabio.utzig@nordicsemi.no>
2020-11-03 15:27:37 +01:00
Kumar Gala f80f31eb0d ci: github: reduce when we do doc builds
Rather than doing a doc build on every PR, limit it to PRs that either
touch a file in doc/, *.rst and what's listed as DOXY_SOURCES in
doc/CMakeLists.txt.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
2020-10-21 17:40:52 +02:00
Carlo Caione d16eb84dbe github: labeler: Add 'area: ARM_64' label
As answered in [0] add a new label for the ARM64 code.

[0] https://github.com/zephyrproject-rtos/zephyr/discussions/28353

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2020-10-06 09:50:12 -05:00
Anas Nashif dac6937cda actions: install needed modules for docs
add scripts/requirements-base.txt to install needed modules for docs to
build.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-10-05 13:04:22 -04:00
Martí Bolívar a6856811a3 scripts: dts: pass tests on windows
Doing this just requires a bit of os.fspath()-ery.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-02 11:51:15 +02:00
Martí Bolívar a8612f75c5 scripts: dts: convert test suites to pytest
Use the pytest test framework in the dtlib.py and edtlib.py test
suites (testdtlib.py and testedtlib.py respectively).

The goal here is not to change what is being tested. The existing test
suite is excellent and very thorough.

However, it is made up of executable scripts where all of the tests
are run using a hand-rolled framework in a single function per file.
This is a bit all-or-nothing and prevents various nice features
available in the de-facto standard pytest test framework from being
used.

In particular, pytest can:

- drop into a debugger (pdb) when there is a problem
- accept a pattern which specifies a subset of tests to run
- print very detailed error messages about the actual and expected
  results in various traceback formats from brief to very verbose
- gather coverage data for the python scripts being tested (via plugin)
- run tests in parallel (via plugin)
- It's easy in pytest to run tests with temporary directories
  using the tmp_path and other fixtures. This us avoid
  temporarily dirtying the working tree as is done now.

Moving to pytest lets us leverage all of these things without any loss
in ease of use (in fact, some things are nicer in pytest):

- Any function that starts with "test_" is automatically picked up and
  run. No need for rolling up lists of functions into a test suite.
- Tests are written using ordinary Python 'assert'
  statements.
- Pytest magic unpacks the AST of failed asserts to print details on
  what went wrong in really nice ways. For example, it will show you
  exactly what parts of two strings that are expected to be equal
  differ.

For the most part, this is a pretty mechanical conversion:

- extract helpers and test cases into separate functions
- insert temporary paths and adjust tests accordingly to not match
  file names exactly
- use 'assert CONDITION' instead of 'if not CONDITION: fail()'

There are a few cases where making this happen required slightly
larger changes than that, but they are limited.

Move the checks from check_compliance.py to a new GitHub workflow,
removing hacks that are no longer needed.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-10-02 11:51:15 +02:00
Øyvind Rønningstad d6c30eead0 nrfjprog.py: Fail if hex file has UICR data and no --erase
Inspect the hex file with intelhex, and fail if the hex file has any
contents in the UICR area(s).
family == 'NRF52' still always does --sectoranduicrerase, but this
option is not available on other families.
Add --force command line option to proceed with flashing instead of
failing.

Signed-off-by: Øyvind Rønningstad <oyvind.ronningstad@nordicsemi.no>
2020-09-28 14:09:14 -05:00
Anas Nashif c25f486322 actions: increase stale operations
Increase to 400 to have it complete the job in one run.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-21 16:05:15 -04:00
Anas Nashif a06884a4e6 actions: stale: increase operations per run
The action is currently being aborted due to a very low value. Trying
something larger to get more operation done per day.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-18 19:05:29 -04:00
Carles Cufi c573bef48f github: labeler: Remove line using negation (!)
The current version of the labeler action doesn't support yet negations.
This is supported in master but we probably want to wait until a release
to update. In the meantime remove the rule that uses negations.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-09-14 18:19:39 +02:00
Carles Cufi 1019fb3fc6 Revert "github: labeler: Fix dts/ folder matching"
This reverts commit d20b6f90ea.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-09-14 18:19:39 +02:00
Carles Cufi d20b6f90ea github: labeler: Fix dts/ folder matching
Use the syntax described in:
https://github.com/actions/labeler#common-examples

in order to rewrite the matching expression for the dts/ folder.

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-09-14 09:33:06 -04:00
Anas Nashif bc8832f6c8 actions: add backporting bot
With new event 'pull_request_target' it is now possible to run the
backporting action that we used to have in the past as a Github app.

Use labels for backporting as before.

See https://github.com/tibdex/backport for more details.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2020-09-12 07:28:16 -04:00
Carles Cufi bbcda199bf github: actions: Use on-PR labeler
Now that the standard GitHub action supports forks, switch to the on-PR
action instead of running a cronjob.

Reference:

https://github.com/actions/labeler/issues/12#issuecomment-670967607

Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
2020-09-12 07:27:41 -04:00
Martí Bolívar bd827056f6 scripts: runners: add type checking for west_commands
Use mypy to type check the runners package.

The test procedure is now annoying enough to replicate locally that
I'm going to wrap it in a script. Do this for both UNIX and Windows
environments by writing that script in Python.

Keep the GitHub workflow up to date so we now get mypy results in CI.

Signed-off-by: Martí Bolívar <marti.bolivar@nordicsemi.no>
2020-09-03 16:49:09 -05:00