Commit graph

95 commits

Author SHA1 Message Date
Lup Yuen Lee
b6fb787669 CI: Enable sim-02 build when we create or update a Complex PR
CI Build Job sim-02 was disabled to reduce our usage of GitHub Runners, to comply with ASF Policy: https://github.com/apache/nuttx/issues/14376#issuecomment-2427837859

However this causes the Scheduled Merge Job to fail, due to reduced CI Checks: https://github.com/NuttX/nuttx/actions/runs/11490041505/job/31980056690#step:7:465

This PR re-enables sim-02 when we create or update a Complex PR.
2024-10-24 09:28:08 +07:00
simbit18
abcfd74c19 ISSUE_TEMPLATE: fix missing labels
Not all labels are added because there is no match with the label name.

issue_labeler.yml
os: Linux -> os: linux

001_bug_report.yml
Type: bug -> Type: Bug
Corrected label in links

002_feature_request.yml
Type: enhancement -> Type: Enhancement
Corrected label in links

003_help.yml
Type: question -> Community: Question
Corrected label in links
2024-10-22 23:14:15 +08:00
Lup Yuen Lee
1cb45b0d1c CI: Split the targets in sim-01 and add sim-03
This PR syncs the Simulator Targets `sim-01`, `sim-02`, `sim-03` from `nuttx` repo to `nuttx-apps`: https://github.com/apache/nuttx/pull/14428
2024-10-22 08:47:07 +08:00
Lup Yuen Lee
ec458f0ec7 CI: Build only Arm32 Targets arm-01 / 03 / 05 / 06 / 07 / 09 / 11 for Complex PRs
This PR updates the Build Rules `arch.yml` to build only these Arm32 Targets when we create or update a Complex PR:
- arm-01, arm-03, arm-05, arm-06, arm-07, arm-09, arm-11

No changes for Simple PRs (arm-01 to arm-14) and for Merging PRs (also arm-01 to arm-14).

This will improve our breadth of CI Checks across Arm32 Targets, as explained here: https://github.com/apache/nuttx/issues/14376
2024-10-21 05:53:04 +07:00
Lup Yuen Lee
52a50ea72a CI: Split the Build Jobs for Arm64 and x86_64
This PR syncs https://github.com/apache/nuttx/pull/14282 from `nuttx` repo to `nuttx-apps`.
2024-10-20 16:19:10 +08:00
Lup Yuen Lee
a799c3e805 CI: Skip half of RISC-V, Xtensa and Simulator targets when a Complex PR is created / updated
When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs for RISC-V, Xtensa and Simulator:
- `risc-v-01` to `03`
- `xtensa-01`
- `sim-01`

When the Complex PR is Merged: CI Workflow will still run all jobs for RISC-V, Xtensa and Simulator:
- `risc-v-01` to `06`
- `xtensa-01` to `02`
- `sim-01` to `02`

Simple PRs with One Single Arch / Board will build the same way as before:
- `risc-v-01` to `06`
- `xtensa-01` to `02`
- `sim-01` to `02`

We hope to lower drastically our usage of GitHub Runners before the ASF Deadline, as explained here: https://github.com/apache/nuttx/issues/14376
2024-10-19 06:57:33 +07:00
Lup Yuen Lee
0a4170daf7 CI: Skip jobs arm-08 to arm-14 when a Complex PR is created / updated
When we submit or update a Complex PR that affects All Architectures (Arm, RISC-V, Xtensa, etc): CI Workflow shall run only half the jobs. Previously CI Workflow will run `arm-01` to `arm-14`, now we will run only `arm-01` to `arm-07`.

When the Complex PR is Merged: CI Workflow will still run all jobs `arm-01` to `arm-14`

Simple PRs with One Single Arch / Board will build the same way as before: `arm-01` to `arm-14`

This is explained here: https://github.com/apache/nuttx/issues/14376

Note that this version of `arch.yml` has diverged from `nuttx` repo, since we are unable to merge https://github.com/apache/nuttx/pull/14377
2024-10-18 02:10:17 +02:00
Lup Yuen Lee
4b8375ea95 CI: Disable all jobs for macOS and Windows
This PR disables all CI Jobs for macOS and Windows, to reduce GitHub Cost. Details here: https://github.com/apache/nuttx/issues/14376
2024-10-17 23:22:13 +08:00
raiden00pl
d9cc2c29f2 github/issue: update bug report template
update bug report template issue so that it better reflects the nuttx-apps repo
2024-10-13 23:30:08 +08:00
raiden00pl
f7f4f77e2e github: add auto labeler for PR
this commit adds initial support for auto labeler for PR
based on https://github.com/actions/labeler
2024-10-13 23:30:08 +08:00
Marco Casaroli
bc19db2c78 ci: use venv for check
To avoid the following CI error:

This environment is externally managed
--> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.12/README.venv for more information.
2024-10-13 10:17:17 +08:00
xuxin19
131ff36842 build.yml:disable CMake Ninja for Msys2
CI in the msys2 environment, the CMake ninja generator
will have a problem with parameters being too long

Signed-off-by: xuxin19 <xuxin19@xiaomi.com>
2024-10-13 00:39:30 +08:00
Lup Yuen Lee
eedd71f508 CI: Sync the Build Workflow from nuttx repo
This PR syncs the CI Build Workflow from `nuttx` repo to `nuttx-apps`, with the following updates:
- https://github.com/apache/nuttx/pull/13954
- https://github.com/apache/nuttx/pull/14011
- https://github.com/apache/nuttx/pull/14022

To follow the existing convention, `build.yml` from `nuttx` repo was slightly modified for `nuttx-apps`:
- All References to `apache/nuttx/.../arch.yml` were changed to `apache/nuttx-apps/.../arch.yml`
- Removed `pull_request > paths-ignore` and `push > paths-ignore`
2024-10-11 07:45:36 +02:00
Lup Yuen Lee
a14429296e CI: Sync the Build Workflow from nuttx repo
This PR syncs the CI Build Workflow `build.yml` from `nuttx` repo to `nuttx-apps`. The updated `build.yml` consolidates these changes:
- https://github.com/apache/nuttx/pull/13301
- https://github.com/apache/nuttx/pull/13806
- https://github.com/apache/nuttx/pull/13862

`build.yml` from `nuttx` repo was slightly modified for `nuttx-apps`:
- All References to `apache/nuttx/.../arch.yml` were changed to `apache/nuttx-apps/.../arch.yml` (we decouple them so they are easier to update)
- Removed `pull_request > paths-ignore` and `push > paths-ignore` (following the existing convention)
2024-10-08 18:12:07 +08:00
Lup Yuen Lee
0918826561 CI: Sync the Build Rules from nuttx repo
This PR syncs the Build Rules from `nuttx` to `nuttx-apps` repo. The Build Rules were added to `nuttx` repo here: https://github.com/apache/nuttx/pull/13858
2024-10-08 14:04:23 +08:00
raiden00pl
8fc7004f5b github: sync labels with nuttx repo
sync github lables with main NuttX repo
2024-10-02 20:55:54 +08:00
dependabot[bot]
3f0c9306d3 build(deps): bump codelytv/pr-size-labeler from 1.10.0 to 1.10.1
Bumps [codelytv/pr-size-labeler](https://github.com/codelytv/pr-size-labeler) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/codelytv/pr-size-labeler/releases)
- [Commits](https://github.com/codelytv/pr-size-labeler/compare/v1.10.0...v1.10.1)

---
updated-dependencies:
- dependency-name: codelytv/pr-size-labeler
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-26 16:12:26 +08:00
simbit18
27c1720687 build.yml: Workflow aligned with nuttx repo
build.yml: Limit the GitHub Runners

see https://github.com/apache/nuttx/pull/13412
2024-09-23 20:42:10 +08:00
raiden00pl
f27e755ad7 github/workflows: add PR size labeler
add workflow that assigns labels based on the PR's size
2024-09-23 08:33:33 +08:00
dependabot[bot]
f4d21b0360 build(deps): bump github/super-linter from 6 to 7
Bumps [github/super-linter](https://github.com/github/super-linter) from 6 to 7.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/super-linter/compare/v6...v7)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 15:29:30 +08:00
simbit18
b4999fa916 Issues: Added Issue templates
**-Template**
 Bug report
Report a bug to improve NuttX stability

Feature request
Request an enhancement for NuttX

General Help
Get general support regarding NuttX

Of course, others can be added. !!! :)

**-Action**
An action for automatically labelling issues

 **Keywords**

Keywords are present in the dropdowns (the user can select more than one option) of the form Bug report and are:

    - Linux, Mac, Windows, Other
    - all, arm, arm64, avr, ceva, hc, mips, misoc, openrisc, renesas, risc-v, simulator, sparc, tricore, x86, x86_64, xtensa, z16, z80
    - Applications, Api, Board support, Build System, Configuring, Debugging, Drivers, File System, Installing, Kconfig, Kernel, Memory Management, Native port, Networking, OS Components, Posix, Sensors, Specific Peripheral

**To work, the labels must have the same name as the keywords !!!**

**So before the merge it is necessary to add them.**

Of course these keywords are examples so you can add, edit or delete them.

[Creating a label](https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels#creating-a-label)

see https://github.com/apache/nuttx/issues/12748

none
CI
2024-08-06 00:23:01 +08:00
simbit18
3d8536f380 build.yml: Added jobs to speed up CI checks.
Divided jobs risc-v and xtensa to finish workflow under 2 hours.
2024-07-30 11:15:52 +08:00
simbit18
366d8db436 build.yml: fix error: externally-managed-environment 2024-07-29 22:28:07 +08:00
simbit18
00e77de94f build.yml: Updated the workflow to use version v4 of the actions/upload-artifact and actions/download-artifact
Sync the version of the macOS runner on GitHub with the version used in the nuttx repository.

runs-on: macos-12 -> runs-on: macos-13
2024-07-23 01:30:43 +08:00
simbit18
c9ce47b33d github/workflows/build.yml: added option -N job docker (Linux)
added option -N Use CMake with Ninja as the backend.

depends on this PR https://github.com/apache/nuttx/pull/12721
2024-07-18 23:00:42 +08:00
dependabot[bot]
ac93ce58ed build(deps): bump github/super-linter from 5 to 6
Bumps [github/super-linter](https://github.com/github/super-linter) from 5 to 6.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/super-linter/compare/v5...v6)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-30 10:02:07 +08:00
simbit18
4d6f4d00b0 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-04-07 22:09:28 +02:00
Xiang Xiao
110fa8264d 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-03-04 12:17:44 +08:00
simbit18
faa8f6666f tools/ci: add initial support for MSYS2
build.yml  -> add msys2 job
2024-02-19 08:32:54 -08:00
dependabot[bot]
dabdad732e 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 23:17:06 -08:00
dependabot[bot]
7768e72d94 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-11 17:41:23 -08:00
dependabot[bot]
bf44d4b1bb 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-19 11:13:16 +08:00
dependabot[bot]
14d06ea011 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-05 22:09:33 +08:00
chao an
7afa9b51ea ci/check: install format tool before run style check script
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-25 10:48:01 +02:00
Brennan Ashton
6655c99341 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-17 17:50:17 +08:00
dependabot[bot]
5abae22fd4 build(deps): bump github/super-linter from 4 to 5
Bumps [github/super-linter](https://github.com/github/super-linter) from 4 to 5.
- [Release notes](https://github.com/github/super-linter/releases)
- [Changelog](https://github.com/github/super-linter/blob/main/docs/release-process.md)
- [Commits](https://github.com/github/super-linter/compare/v4...v5)

---
updated-dependencies:
- dependency-name: github/super-linter
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-22 01:32:50 +08:00
raiden00pl
6b35ff323a github/linters/setup.cfg: ignore E203 for flake8 to fix compatibility issues with black
For more details, see https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html#flake8
2023-04-17 01:47:31 -07:00
Xiang Xiao
e07d8f546a build.yml: Sync with nuttx version
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-12-12 01:37:50 +02:00
Nathan Hartman
e4376a0e60 NuttX graduated the Incubator; update repository links 2022-11-26 11:59:17 -08:00
Brennan Ashton
393df6762e CI: Update worker base OS version 2022-11-22 01:28:48 +08:00
Alex
daf9e80936 Update build.yml
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-08-29 21:36:17 +08:00
qinwei1
db9ea40798 .github/workflows: Add nuttx/source to the safe directory, covering apps
Signed-off-by: qinwei1 <qinwei1@xiaomi.com>
2022-06-24 23:47:49 -07:00
Xiang Xiao
99d905369e .github/workflows: Add nuttx/source to the safe directory
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-06-24 23:47:49 -07:00
dependabot[bot]
23f35ea1b3 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-22 01:12:21 +08:00
dependabot[bot]
85962aab14 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-22 01:12:12 +08:00
dependabot[bot]
452d5352d5 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-21 23:23:30 +08:00
dependabot[bot]
a4c96f5dbc build(deps): bump actions/download-artifact from 1 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 1 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v1...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-21 23:23:22 +08:00
naveen
2f173e9f48 chore: Included githubactions in the dependabot config
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.

Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot

GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-21 16:43:58 +03:00
naveen
83ea328ef5 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-21 16:43:58 +03:00
Christian Clauss
72cb2c237b Lint Python code with flake8 and isort 2022-06-21 16:43:58 +03:00