zephyr/scripts
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
..
checkpatch kernel: add an architecture specific structs header 2021-04-21 09:03:47 -04:00
ci actions: run twister using github action 2021-11-23 06:42:23 -05:00
coccinelle coccinelle: check reserved symbols based on a file 2021-04-30 22:09:43 -04:00
coredump scripts: coredump: rename parser to avoid conflict with builtin module 2021-07-19 21:14:16 +03:00
dts gen_defines: generate ranges defines for PCIe I/O and memory regions 2021-11-10 08:23:00 -05:00
footprint scripts/arch: remove usage of deprecated LooseVersion 2021-11-19 19:16:11 -05:00
gitlint zephyr_commit_rules.py: Fix pylint warning by simplifying conditional 2019-09-08 22:19:37 -04:00
kconfig scripts: kconfig: Add unit divisor to dt_node_int_prop_int/hex functions 2021-11-18 14:29:53 +01:00
logging/dictionary scripts: colorize parsed dictionary logging 2021-07-16 21:34:06 -04:00
net net: scripts: Make test runner script fully generic 2020-11-20 16:07:59 +02:00
pylib/twister twister: reenable build samples on Windows OS 2021-11-04 07:33:39 -04:00
release scripts: add script to extract top-ten bug-bashers 2021-09-01 17:06:50 -04:00
schemas/twister twister: fix the testcase-schema.yaml 2021-11-19 11:46:38 -05:00
support scripts: Simplify code with sys.exit(<string>) 2019-09-08 12:34:16 +02:00
tests ztest: add a weak implementation of test_main() 2021-10-28 16:57:51 -04:00
tracing tracing: scripts: add scripts for parsing ctf data 2020-08-24 13:21:12 +02:00
west_commands scripts: runners: add connect_srst support for blackmagicprobe 2021-11-22 22:20:02 -05:00
.gitignore cleanup: rename sanitycheck references to twister 2021-01-14 07:50:52 -06:00
checkpatch.pl scripts: checkpatch: do not require top-level Makefile 2021-03-29 10:59:28 -04:00
checkstack.pl First commit 2015-04-10 16:44:37 -07:00
coccicheck scripts: Fix documunt referenc for coccicheck 2020-05-08 17:44:44 +02:00
dir_is_writeable.py global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
file2hex.py scripts: file2hex.py: PEP 8 style fix 2020-06-12 11:09:58 +02:00
gen_app_partitions.py scripts: gen_app_partitions: do not load empty files 2021-11-23 06:42:23 -05:00
gen_cfb_font_header.py zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
gen_gcov_files.py scripts: gen_gcov_files.py: add argument help text 2020-06-13 16:33:22 -04:00
gen_handles.py device: iterable supported devices 2021-11-23 12:17:14 +01:00
gen_kobject_list.py scripts/arch: remove usage of deprecated LooseVersion 2021-11-19 19:16:11 -05:00
gen_kobject_placeholders.py scripts: gen_kobject_placeholders: iterating the dictionary directly 2021-11-19 19:16:11 -05:00
gen_offset_header.py scripts: gen_offset_header: add argument help text 2020-05-21 14:45:24 +02:00
gen_relocate_app.py scripts: gen_relocate_app: check if argument matches 2021-11-02 22:26:41 -04:00
gen_syscalls.py Tracing: TRACING_SYSCALL status ignored fix 2021-10-26 15:13:08 -04:00
get_maintainer.py scripts: get_maintainer: add count function 2021-10-18 08:36:21 -04:00
list_boards.py scripts: list_boards: handle boards dirs with subset of architectures 2021-06-11 16:26:30 +02:00
mergehex.py scripts: cmake: move print from python to cmake 2020-01-03 08:20:08 -05:00
parse_syscalls.py userspace: net sockets are kernel objects 2020-06-03 22:33:32 +02:00
process_gperf.py scripts/arch: remove usage of deprecated LooseVersion 2021-11-19 19:16:11 -05:00
requirements-base.txt requirements: bump west to >=0.10.1 2021-05-18 09:52:12 -05:00
requirements-build-test.txt scripts: move pip pykwalify from requirements-build-test to -base 2021-01-18 16:56:24 -05:00
requirements-compliance.txt requirements-compliance: restrict junitparser version < 2 2021-01-13 07:58:37 -05:00
requirements-doc.txt requirements-doc: add PyYAML which removes dependency on -base 2021-06-16 10:39:08 +02:00
requirements-extras.txt scripts: add script to extract top-ten bug-bashers 2021-09-01 17:06:50 -04:00
requirements-run-test.txt requirements: Update to pyocd 0.29 for LPC55S69 support 2021-01-21 15:53:22 -05:00
requirements.txt python3: add check_compliance package requirements 2020-08-11 14:49:48 -04:00
series-push-hook.sh scripts: series-push-hook: Use main as base comparison branch 2021-05-27 15:55:43 -05:00
spelling.txt scripts: updated spelling.txt file 2017-07-14 12:57:40 +03:00
subfolder_list.py scripts: subfolder_list.py: refactor the code 2020-07-20 17:31:53 -04:00
tags.sh scripts: Update paths on tags.sh 2021-02-19 05:28:09 -06:00
twister twister: Fix trivial typo 2021-11-22 08:32:12 -05:00
uf2conv.py cmake: Add UF2 as an additional build output option. 2021-02-23 21:11:04 +01:00
user_wordsize.py posix arch: build on aarch64 / allow host-specific cmake includes 2020-05-09 12:17:24 +02:00
valgrind.supp lvgl: Suppress memory leak errors detected by valgrind 2019-10-21 12:26:35 -07:00
west-commands.yml west: spdx: Generate SPDX 2.2 tag-value documents 2021-05-05 11:14:06 -04:00
zephyr_module.py scripts: support for build meta file creation 2021-11-11 06:06:07 -05:00