Reduce the number of parallel jobs for documentation build since we use
GH-hosted runner with only 4 vCPUs and 16GiB of RAM.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Make CI run on latest Ubuntu LTS so that default Python version
is effectively 3.12.
This allows to build against latest Sphinx 8.2 release, as it
dropped support for Python 3.10.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Setup a fully working Zephyr workspace so that documentation steps that
require e.g. building Zephyr apps have the ability to do so.
The "turbo" builds running on pull requests get a minimal setup, with
no toolchain being installed.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
The "raw" junit.xml is a useful artifact to make available to developers
as it can be ingested by various tools to help dig into failures, look
at evolution of test results over time, etc.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This reverts commit 2dcb61858b.
Completely breaks CI due to concurrency key being wrong and
the same for every PR...
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
This addresses issues were CI jobs would wrongly get cancelled due to
sharing the concurrency group as other workflows.
For example:
- Twister runs being cancelled if both contributor submitting PRs named
their branch the same (often, `main` :))
- The scheduled doc-build systematically kills any ongoing
"on_pull_request_target" workflow runs.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Increase matrix size to deal with builds aborting under heavy load or
when running out of resources.
Also increase number of tests per node to deal with growth.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
There is no point in including source .rst files in html-output.tar.xz
as it unnecessarily slows down the creation of html-output.tar.xz as well
as transfer to/decompression on S3. Same for Doxygen XML output which is
only useful at build time.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Checkout code early, so files are downloaded and read from one single
place.
Check for job results, only run script on failures.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Twister supports building with multiple toolchains in the same workflow
already, so there is no need for doing this in own workflow.
This will allow us to have a few targeted tests that are built with
multiple toolchains and frees up resources spent on duplicated builds in
a second workflow.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Added steps to analyze Twister reports and upload the results
if Twister build fails
Signed-off-by: Grzegorz Chwierut <grzegorz.chwierut@nordicsemi.no>
Reconfigure the manifest action to use a manifest specific DNM label, so
that the "DNM" one can be used by humans.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add "DNM (manifest)" to the "do not merge" labels. This is meant to be a
DNM controlled by the manifest action specific, so that the normal one
can be used by humans and the two are not going to fight with each
other.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Introduce sysbuild-specific variants of existing Kconfig checks:
* SysbuildKconfig
* SysbuildKconfigBasic
* SysbuildKconfigBasicNoModules
This involves a few additions to the base `KconfigCheck` class:
* Supporting a variable symbol prefix, to handle `SB_CONFIG_`.
* Generating extra files, including `Kconfig.sysbuild.modules`.
Although these are never sourced outside of sysbuild Kconfig,
they're still generated for every regular Zephyr build, so it's
natural to let all Kconfig checks follow this behavior.
Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
We should also trigger this workflow on changes to the
module integration files.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Cleanup all pip commands in the various workflow
- drop the install/upgrade for setuptool pip and wheel, seems like this
was introduced few years back to work around some old bug and it's not
needed anymore
- use pip instead of pip3, that's probably been equivalent for quite a
long time in the CI image
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Change the workflow to pass instead of skip if the PR is mergeable,
just trying to see if it helps with PRs not appearing as mergeable
because they do not match status:success when they should.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Open up the hello_world_multiplatform filter to run on any PR changing
anything in scripts. This should catch twister regressions as well.
Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
With gitv2.26, git rebase uses "git merge" mechanism instead of "git
apply". This creates a rebase-merge folder in .git, in case of rebase
conflict. This caused problems in self hosted runners due to old
rebase-merge folder. This commit deletes this folder before git rebase
action.
Signed-off-by: Mert Ekren <mert.ekren@analog.com>
These paths were not updated when we transitioned to hwmv2
which led to CI jobs not being triggered in some cases.
Let's fix it.
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
Prior to running the compliance checks, we rebase the PR onto the target
branch to check the compliance state as if we were merged.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Instead of maintaining two lists, use the requirements file for
installing compliance dependencies.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Switch to short test identifier in reporting.
Part of a series of changes to improve reporting and remove duplication
and clutter when running twister.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Do not fail if we can't download any artifacts, i.e. when job is
cancelled.
Only publish on push/schedule
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Add a compliance test using ruff, for both linting and formatting of
newly added python files.
Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
Use workflow_call to allow for different type of nodes depending on
event.
On push, we do not need to use zephyr runners, GH runners are enough and
are much faster to deploy and start.
This resolves an issue where push jobs will have to be queued for a
longer time waiting for the prep step, once the prep step is done, we
will have to wait one more time in the queue for requested nodes.
This should speed up execution of push events in CI.
Signed-off-by: Anas Nashif <anas.nashif@intel.com>