walnux/.github/workflows
simbit18 34c4b15b4d tools/ci: Added CI system on Windows Native
This PR adds support for the CI system for native Windows as well. It allows you to build NuttX on GitHub and test it locally for Windows users.

With these CI tools with PowerShell scripts, it is possible to build NuttX for Windows Native using (for now only) Cmake + Ninja with the same logic as the CI system with Bash scripts.

This allows the msvc job to be used not only with the simulator (currently only with Visual Studio 17 2022), but also with other architectures using the same Windows runner to get more coverage and avoid future breakage.
As with the other jobs, we use artifacts to save the compilation result at the end of the workflow execution (previously for the simulator it was not done).

The proposed solution is based on the following additions and modified:

Modified Files
buildyml -> only CI Jobs MSVC

New Files in tools/
ci/cibuild.ps1 -> Added Powershell script for Run the CI Builds
ci/platforms/windows.ps1 -> Added Powershell script for installing toolchains and tools.
testlist/windows.dat -> Target (Add sim (msvc), risc-v arm)
tools/testbuild.ps1

We tested the NuttX build on GitHub and locally.

How we build on GitHub and test locally.

Locally
cd .\nuttx\tools\ci\

.\cibuild.ps1 -n -i -A -C -N .\testlist\windows.dat

Signed-off-by: simbit18 <simbit18@gmail.com>
2025-03-19 19:59:44 +08:00
..
arch.yml CI: Increase CI Jobs to 100% for Complex PRs 2025-01-08 15:05:18 +08:00
build.yml tools/ci: Added CI system on Windows Native 2025-03-19 19:59:44 +08:00
check.yml ci: add Python linter to check 2024-10-15 15:01:07 +02:00
doc.yml ci: documentation workflow is now only triggered when the Documentation subdirectory has modifications, and does not build pdfs. 2024-10-17 09:04:50 +08:00
docker_linux.yml tools/ci/docker/linux/Dockerfile: Restarting the Docker-Linux workflow a new attempt 2024-09-02 14:11:51 -04:00
issue_labeler.yml ISSUE_TEMPLATE: fix missing labels 2024-10-21 18:04:27 +02:00
labeler.yml build(deps): bump codelytv/pr-size-labeler from 1.10.1 to 1.10.2 2024-11-25 13:37:09 +08:00
lint.yml build(deps): bump github/super-linter from 6 to 7 2024-09-07 12:08:11 +08:00