5c24fcb4ae
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> |
||
---|---|---|
.. | ||
checkpatch | ||
ci | ||
coccinelle | ||
coredump | ||
dts | ||
footprint | ||
gitlint | ||
kconfig | ||
logging/dictionary | ||
net | ||
pylib/twister | ||
release | ||
schemas/twister | ||
support | ||
tests | ||
tracing | ||
west_commands | ||
.gitignore | ||
checkpatch.pl | ||
checkstack.pl | ||
coccicheck | ||
dir_is_writeable.py | ||
file2hex.py | ||
gen_app_partitions.py | ||
gen_cfb_font_header.py | ||
gen_gcov_files.py | ||
gen_handles.py | ||
gen_kobject_list.py | ||
gen_kobject_placeholders.py | ||
gen_offset_header.py | ||
gen_relocate_app.py | ||
gen_syscalls.py | ||
get_maintainer.py | ||
list_boards.py | ||
mergehex.py | ||
parse_syscalls.py | ||
process_gperf.py | ||
requirements-base.txt | ||
requirements-build-test.txt | ||
requirements-compliance.txt | ||
requirements-doc.txt | ||
requirements-extras.txt | ||
requirements-run-test.txt | ||
requirements.txt | ||
series-push-hook.sh | ||
spelling.txt | ||
subfolder_list.py | ||
tags.sh | ||
twister | ||
uf2conv.py | ||
user_wordsize.py | ||
valgrind.supp | ||
west-commands.yml | ||
zephyr_module.py |