ci: twister: Implement twister mode support
This commit implements the support for the
twister-modeworkflow input.For
integrationmode, the “integration” tests are built and run. Forallmode, all tests are built only (i.e. not run).Signed-off-by: Stephanos Ioannidis root@stephanos.io
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802032778号
Zephyr SDK
The Zephyr Software Development Kit (SDK) includes the toolchains for all supported target architectures as well as the host tools, such as QEMU and OpenOCD, for testing and debugging the Zephyr RTOS.
The toolchains for the following target architectures are supported:
The following host tools are available as part of the Zephyr SDK:
Releases
The Zephyr SDK bundle releases are available for the following host platforms:
These binaries can be downloaded from here.
For future release plans, please refer to the Release Plan document in the wiki.
Build Process
The Zephyr Project maintains the infrastructure necessary to build and test the Zephyr SDK, and it is highly recommended to utilise this infrastructure for generating the Zephyr SDK binaries.
When you submit a pull request to the Zephyr SDK repository, CI will automatically build and test the Zephyr SDK with the changes in the pull request and upload the binaries to the pull request check run, which you can download for further local testing as necessary.
To aid in verifying changes and introduction of a new toolchain, a helper script, contrib/linux_build_toolchain.sh, can be used to build one toolchain under Linux.
Workflow to Test Patches with Zephyr SDK
The following workflow can be used to test a patch for GCC, for example, building the SDK remotely:
.gitmodulesin sdk-ng to point to the fork with your gcc commit(s)git submodule sync --recursive && cd gcc && git pull)gccsubmodule and commit the.gitmodulechanges (git add .gitmodules gcc && git commit -s)Zephyr’s CI will then build a new toolchain, which will be available in the PR check step. Verify that the GCC fix behaves as expected with the generated SDK.
Release Process
To create a new Zephyr SDK release:
v(e.g. for the version 0.11.0, the tag name should bev0.11.0) and add the release information.For more detailed information on the release process, please refer to the Release Process document in the wiki.
Submodule Update Process
The Zephyr SDK repository contains various submodules, such as
binutilsandgcc, required for building the Zephyr SDK.When updating a submodule, the following procedure should be followed:
When updating the
picolibcsubmodule, thepicolibcmodule in thewest.ymlof the main Zephyr repository must also be updated to reference the same commit.