Commit Graph

78 Commits

Author SHA1 Message Date
Lup Yuen Lee
7edb84c0c5 build.yml: Check out the correct branch of nuttx-apps
When building a branch like `releases/12.7`, the CI Workflow incorrectly checks out the `master` branch of `nuttx-apps`, instead of `releases/12.7`. This PR fixes a typo in `apps_ref`, to check out the correct branch.
2024-10-09 19:30:38 +08:00
simbit18
6a0c0722e2 CI: Improvement to speed up compilation and reduce download errors.
The simple improvement is designed to speed up compilation and reduce download errors on github and local.

Added a folder nxtmpdir for storing third-party packages

nuttxworkspace
|
|- nuttx
|- apps
|- nxtmpdir

tools/Unix.mk:
added export NXTMPDIR := $(WSDIR)/nxtmpdir

tools/configure.sh:
added option -S creates the nxtmpdir folder for third-party packages.

tools/Config.mk:
added macro
CLONE - Git clone repository.
CHECK_COMMITSHA - Check if the branch contains the commit SHA-1.

tools/testbuild.sh:
added option -S

For now I added in the folder this package

ESP_HAL_3RDPARTY_URL = https://github.com/espressif/esp-hal-3rdparty.git

ARCH
arch/xtensa/src/esp32/Make.defs
arch/xtensa/src/esp32s2/Make.defs
arch/xtensa/src/esp32s3/Make.defs
arch/risc-v/src/common/espressif/Make.defs
arch/risc-v/src/esp32c3-legacy/Make.defs

but you can also add other packages (maybe also of apps)
2024-09-20 11:26:01 +08:00
Lup Yuen Lee
d36197266a build.yml: Limit the GitHub Runners
This PR modifies NuttX CI and GitHub Actions, to comply with ASF Policy. Right now, every NuttX Pull Request will trigger 24 Concurrent Jobs (GitHub Runners), executing them in parallel: https://lupyuen.github.io/articles/ci

According to ASF Policy: We should run at most 15 Concurrent Jobs: https://infra.apache.org/github-actions-policy.html

Thus we'll cut down the Concurrent Jobs from 24 down to 15. That's 12 Linux Jobs, 2 macOS, 1 Windows. (Each job takes 30 mins to 2 hours)

(1) Right now our "Linux > Strategy" is a flat list of 20 Linux Jobs, all executed in parallel

(2) We change "Linux > Strategy" to prioritise by Target Architecture, and limit to 12 concurrent jobs

(3) So NuttX CI will initially execute 12 Build Jobs across Arm32, Arm64, RISC-V, Simulator and Xtensa. As they complete, NuttX CI will execute the remaining 8 Build Jobs (for Arm32).

(4) This will extend the Overall Build Duration from [2 hours](https://github.com/apache/nuttx/actions/runs/10817443237) to [2.25 hours](https://github.com/lupyuen4/ci-nuttx/actions/runs/10828246630)

(5) We'll also limit macOS Jobs to 2, Windows Jobs to 1
2024-09-13 14:33:13 +08:00
simbit18
1661a66843 [cmake]: added initial support for MSYS2
Currently concerns only arm.

tools/ci/testlist/msys2.dat:
At the moment I only added the board nucleo-l152re:nsh

.github/workflows/build.yml:
Enabled cmake for msys2
2024-08-27 21:36:12 +08:00
simbit18
3637040d73 tools/ci/testlist: Added jobs to speed up CI checks.
Divided jobs risc-v and xtensa to finish workflow under 2 hours.
2024-07-30 01:43:29 +08:00
simbit18
d8a8d6e67c build.yml: fix error: externally-managed-environment 2024-07-29 22:24:48 +08:00
simbit18
5f75c0ad84 buildyml: Updated the workflow to use version v4 of the actions/upload-artifact and actions/download-artifact. 2024-07-23 01:30:34 +08:00
simbit18
1540dc2d67 tools/testbuild.sh: add option -N use CMake with Ninja
tools/testbuild.sh
     added option -N Use CMake with Ninja as the backend.

    updated help.

    added date to print startup board

   added HOST=Msys

github/workflows/build.yml

   added option -N job docker
2024-07-18 13:40:20 +08:00
simbit18
21572864e7 Minor improvement for tools/ci: Fixed cmake build of bloaty and installation in darwin.sh script.
function bloaty() Add  -D CMAKE_INSTALL_PREFIX="${NUTTXTOOLS}"/bloaty.
Improves workflow execution time because it is now cached.

Changed reference file to calculate the hash for key of actions/cache@v4. Now it is darwin.sh.
2024-03-19 20:52:40 +08:00
Xiang Xiao
9d5471349f ci: Remove the codecheck from build.yml
the check isn't really enabled and enforce before
due to a mass of false alarm, but recently it break
ci frequently, so it's better to remove it now.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2024-02-29 18:54:41 -03:00
dependabot[bot]
2ec36fa7bd build(deps): bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-22 01:42:03 -08:00
simbit18
eaf1d07809 tools/ci: add initial support for MSYS2
removed uname from msys2 job
2024-01-09 05:50:09 -08:00
dependabot[bot]
387e9d64ac build(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-10 21:53:27 -08:00
dependabot[bot]
1bd0e0ec91 build(deps): bump docker/login-action from 2 to 3
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 13:33:29 +08:00
dependabot[bot]
890dd87a4a build(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-11 14:28:40 +08:00
Xiang Xiao
b090b7340b github: Skip the build if the change is under tools/ci/docker/linux
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-24 12:09:11 -03:00
Petro Karashchenko
dc6baf68a9 .github/workflows: run MAC OS builds based on macos-13 image
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-07-05 00:16:44 +08:00
Brennan Ashton
6417ca79ad CI: set-output command is deprecated
CI currently runs with the warning:

The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
2023-05-16 15:56:01 +08:00
Xiang Xiao
0a23bfea03 Fix ccache: error: Could not find compiler "x86_64-elf-gcc" in PATH
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-12 20:25:51 +09:00
Xiang Xiao
b83f3e6ca7 workflow: Move ccache setting from build.yml to cibuild.sh
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Xiang Xiao
98412b9e97 tools/cibuild.sh: Move the installation directory from prebuilt to tools
sync with tools/ci/docker/linux/Dockerfile

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-11 22:41:25 +08:00
Gustavo Henrique Nihei
6576be99e1 ci: Fix save and restore in GitHub cache action for MacOS build
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-09 14:18:50 +08:00
Nathan Hartman
03802dad13 NuttX graduated the Incubator; update repository links 2022-11-26 11:58:15 -08:00
Brennan Ashton
9140b39bde CI: Update worker base OS version
Also pin Bloaty to 52948c107c8f81045e7f9223ec02706b19cfa882
 - see https://github.com/google/bloaty/pull/326/files
2022-11-21 17:20:24 +08:00
W-Mai
07a2fa8d57 ci/docker: copy clang-extdef-mapping to clang-arm
Clang relies on clang-extdef-mapping for ctu checking. But clang-arm doesn't provide this file
A tweaking way to support this feature is copy a `clang-extdef-mapping` from other clang version.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-10-24 17:04:45 +08:00
xinbingnan
d8cff7d17a tools/ci/docker/linux/Dockerfile: Install CodeChecker and requirements(clang, clang-tidy)
.github/workflows/build.yml: added CodeChecker support for GitHub Workflow
tools/testbuild.sh: added support for CodeChecker checks

- Added support for CodeChecker checks.
- Generate inspection reports and summaries.
- After the task is executed, the logs are compressed and the database is packaged.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-10-12 16:23:43 +08:00
Alex
767ab06ecd Update build.yml
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-08-29 21:36:04 +08:00
qinwei1
b7cdacf3b5 .github/workflows: Add nuttx/source to the safe directory, covering apps
Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
2022-06-25 11:56:13 +08:00
Xiang Xiao
02690fe58e .github/workflows: Add nuttx/source to the safe directory
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-24 14:55:18 +03:00
dependabot[bot]
46e38a2f06 build(deps): bump actions/cache from 2 to 3
Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 12:08:18 +08:00
dependabot[bot]
2827b2beb3 build(deps): bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-19 13:37:40 +08:00
dependabot[bot]
8d17f26907 build(deps): bump actions/upload-artifact from 1 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 1 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-19 13:37:29 +08:00
dependabot[bot]
f0273efc63 build(deps): bump docker/login-action from 1 to 2
Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-19 13:37:19 +08:00
dependabot[bot]
2de2b5ca07 build(deps): bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-19 13:37:11 +08:00
naveen
155c9a2070 chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-17 08:33:40 +03:00
Abdelatif Guettouche
44075893a7 build.yml: Use v2 of the download-artifact action.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-02-25 09:43:41 -03:00
Abdelatif Guettouche
d437921f82 docker_linux.yml: Use docker actions to build docker.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-02-25 09:43:41 -03:00
YAMAMOTO Takashi
2d6774536e .github/workflows/build.yml: Enable the "run" step in testbuild.sh 2022-02-22 13:30:57 +08:00
Gustavo Henrique Nihei
3eec9fcb9b ci: Use GitHub Actions concurrency for cancelling duplicate jobs
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-12-17 11:24:08 -06:00
Gustavo Henrique Nihei
13bf6f0fc2 github: Update links to Docker Linux image
GitHub's Docker registry has been replaced by the Container registry.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-09-02 08:46:30 +08:00
Xiang Xiao
b3e1d1c3df tools/ci: Remove sim01.dat and sim02.dat
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-16 21:03:22 -07:00
Xiang Xiao
09a0ed111c tools/ci: Rename sim0x.dat to sim-0x.dat to align with arm-xx.dat
To avoid the build break sim0x.dat will remove in the upcoming patch

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-05-16 10:39:16 -07:00
Brennan Ashton
15b99d1f4b CI: Migrate ci tooling from testing repository to main os repo 2021-04-05 01:22:48 -05:00
Xiang Xiao
42489759fe build: Replace sim with sim01 and sim02
follow up nuttx-testing repo change:
commit 08d766faef84e43112b70a08f6f0c54654482024
Author: Xiang Xiao <xiaoxiang@xiaomi.com>
Date:   Sun Apr 4 04:21:57 2021 +0800

    Split sim.dat to sim00.dat and sim01.dat

    to speed up the macOS build

    Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-04-04 05:16:44 -05:00
Matias N
9e311518c9 CI: adapt to testlist changes 2021-04-03 08:46:06 -05:00
Brennan Ashton
0d8dc13b67 CI: Only use approved GitHub Actions 2020-12-29 22:56:39 +01:00
Brennan Ashton
570aa3cdac CI: Allow builds to pass even if final artifact upload fails
We are seeing higher cases of artifact upload failures
in github.  Other projects are also seeing this as has been
reported at https://github.com/actions/upload-artifact/issues/116

There is a fix that was just merged in the base library:
https://github.com/actions/toolkit/pull/675

So Hopefully we can revert this before too long.

Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-12-23 10:32:31 +01:00
John Bampton
ca6b11b425 feat: add a GitHub action to lint the YAML files
Lint some YAML
Add a `.yamllint` config file
2020-12-15 09:52:04 -06:00
Brennan Ashton
5d872e09e6 Remove depricated usage of set-env in GitHub
Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-11-08 19:38:59 -08:00
Xiang Xiao
96d1f018c4 build.yml: Switch avr-mips-riscv-x86-xtensa.dat to other.dat
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2020-10-29 01:06:57 -07:00