Commit Graph

278 Commits

Author SHA1 Message Date
Carles Cufi f1d55bedff actions: manifest: Update SHA
Update the revision of the manifest SHA to include the updates.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The rationale is as follows:

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

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

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

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

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

For more details, refer to the following GitHub issue:

actions/checkout#760

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2022-03-30 16:06:19 +09:00
Anas Nashif 6502d2e060 ci: do not fail if ccache setup fails
Continue without cache of something fails with ccache setup.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2022-03-25 17:18:18 -04:00
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