diff --git a/.github/ISSUE_TEMPLATE/001_bug_report.yml b/.github/ISSUE_TEMPLATE/001_bug_report.yml deleted file mode 100644 index ce542917bdfad..0000000000000 --- a/.github/ISSUE_TEMPLATE/001_bug_report.yml +++ /dev/null @@ -1,148 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -name: Bug report -description: Report a bug to improve NuttX stability -title: "[BUG] " -labels: [👀 needs triage, "Type: bug"] -body: - - type: markdown - attributes: - value: | - Hello NuttX Community member! Please keep things tidy by putting your post in the proper place: - - Reporting a bug: use this form. - Asking a question or getting help: use the [General Help](https://github.com/apache/nuttx/issues/new?assignees=&labels=question&projects=&template=003_help.yml&title=help%3A+help+title) form or [Mailing list](https://nuttx.apache.org/community/). - Requesting a new feature: use the [Feature request](https://github.com/apache/nuttx/issues/new?assignees=&labels=enhancement&projects=&template=002_feature_request.yml) form. - - type: textarea - attributes: - label: "Description / Steps to reproduce the issue" - description: "A clear and concise description of what the bug is, and why you consider it to be a bug, and steps for how to reproduce it" - placeholder: | - A description with steps to reproduce the issue. - May include logs, images, or videos. - 1. Step 1 - 2. Step 2 - validations: - required: true - - - type: markdown - attributes: - value: | - ### Environment - Please specify your environment. - - - type: dropdown - id: os - attributes: - label: On which OS does this issue occur? - multiple: true - options: - - "[OS: BSD]" - - "[OS: Linux]" - - "[OS: Mac]" - - "[OS: Windows]" - - "[OS: Other]" - validations: - required: true - - - type: input - id: os_version - attributes: - label: What is the version of your OS? - description: Please fill out the distro or OS version from the previous dropdown - placeholder: "MacOS 14, Ubuntu 23.10, Windows 10/MSYS_NT-10.0-19045, ecc" - validations: - required: true - - - type: input - attributes: - label: NuttX Version - placeholder: "e.g., master, 12.5.1, ecc" - validations: - required: true - - - type: dropdown - id: architecture - attributes: - label: Issue Architecture - description: What architecture(s) are you seeing the problem on? - multiple: true - options: - - "[Arch: all]" - - "[Arch: arm]" - - "[Arch: arm64]" - - "[Arch: avr]" - - "[Arch: ceva]" - - "[Arch: hc]" - - "[Arch: mips]" - - "[Arch: misoc]" - - "[Arch: openrisc]" - - "[Arch: renesas]" - - "[Arch: risc-v]" - - "[Arch: simulator]" - - "[Arch: sparc]" - - "[Arch: tricore]" - - "[Arch: x86]" - - "[Arch: x86_64]" - - "[Arch: xtensa]" - - "[Arch: z16]" - - "[Arch: z80]" - validations: - required: true - - - type: dropdown - id: area - attributes: - label: Issue Area - description: What area(s) are you seeing the problem on? - multiple: true - options: - - "[Area: Other]" - - "[Area: Applications]" - - "[Area: Api]" - - "[Area: Board support]" - - "[Area: Build System]" - - "[Area: Configuring]" - - "[Area: Debugging]" - - "[Area: Drivers]" - - "[Area: File System]" - - "[Area: Installing]" - - "[Area: Kconfig]" - - "[Area: Kernel]" - - "[Area: Memory Management]" - - "[Area: Native port]" - - "[Area: Networking]" - - "[Area: OS Components]" - - "[Area: Posix]" - - "[Area: Sensors]" - - "[Area: Specific Peripheral]" - validations: - required: true - - - type: markdown - attributes: - value: | - ### Before You Submit - - Please verify that you've followed these steps: - - Confirm the problem is reproducible on [**master**](https://github.com/apache/nuttx) or [**latest stable**](https://nuttx.apache.org/download) release. - - Run `make distclean` when encountering build issues. - - Search [existing issues](https://github.com/apache/nuttx/issues) (including [closed](https://github.com/apache/nuttx/issues?q=is%3Aissue+is%3Aclosed)) - - Read the [FAQ](https://nuttx.apache.org/docs/latest/faq/index.html). - - - type: checkboxes - attributes: - label: "Verification" - options: - - label: "I have verified before submitting the report." - required: true diff --git a/.github/ISSUE_TEMPLATE/002_feature_request.yml b/.github/ISSUE_TEMPLATE/002_feature_request.yml deleted file mode 100644 index 726d9d53301c3..0000000000000 --- a/.github/ISSUE_TEMPLATE/002_feature_request.yml +++ /dev/null @@ -1,62 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -name: Feature request -description: Request an enhancement for NuttX -title: "[FEATURE] <title>" -labels: ["Type: enhancement"] -body: - - type: markdown - attributes: - value: | - Hello NuttX Community member! Please keep things tidy by putting your post in the proper place: - - Requesting a new feature: use this form. - Asking a question or getting help: use the [General Help](https://github.com/apache/nuttx/issues/new?assignees=&labels=question&projects=&template=003_help.yml&title=help%3A+help+title) form or [Mailing list](https://nuttx.apache.org/community/). - Reporting a bug: use the [Bug report](https://github.com/apache/nuttx/issues/new?assignees=&labels=bug&projects=&template=001_bug_report.yml) form. - - - type: textarea - id: question-description - attributes: - label: Is your feature request related to a problem? Please describe. - description: Please provide a clear and concise description of what the problem is. Add relevant issue link. - validations: - required: true - - - type: textarea - id: solution - attributes: - label: Describe the solution you'd like - description: Please provide a clear and concise description of what you want to happen. - validations: - required: true - - - type: textarea - id: alternatives - attributes: - label: Describe alternatives you've considered - description: Please provide a clear and concise description of any alternative solutions or features you've considered. - - - type: markdown - attributes: - value: | - ### Before You Submit - - Please verify that you've followed these steps: - - Search [existing feature requests](https://github.com/apache/nuttx/issues) (including [closed](https://github.com/apache/nuttx/issues?q=is%3Aissue+is%3Aclosed)) - - - type: checkboxes - attributes: - label: "Verification" - options: - - label: "I have verified before submitting the report." - required: true diff --git a/.github/ISSUE_TEMPLATE/003_help.yml b/.github/ISSUE_TEMPLATE/003_help.yml deleted file mode 100644 index 03b14a3bb8433..0000000000000 --- a/.github/ISSUE_TEMPLATE/003_help.yml +++ /dev/null @@ -1,54 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -name: General Help -description: Get general support regarding NuttX -title: "[HELP] <title>" -labels: ["Type: question"] -body: - - type: markdown - attributes: - value: | - Hello NuttX Community member! Please keep things tidy by putting your post in the proper place: - - Asking a question or getting help: use this form or [Mailing list](https://nuttx.apache.org/community/). - Reporting a bug: use the [Bug report](https://github.com/apache/nuttx/issues/new?assignees=&labels=bug&projects=&template=001_bug_report.yml) form. - Requesting a new feature: use the [Feature request](https://github.com/apache/nuttx/issues/new?assignees=&labels=enhancement&projects=&template=002_feature_request.yml) form - - - type: markdown - attributes: - value: | - ### Whether you're a beginner or an experienced developer, NuttX Help is here to assist you with all your NuttX questions and concerns. - - - type: textarea - id: question-description - attributes: - label: Description - description: Explain the background or context of your question. This helps others understand your problem or inquiry better. - validations: - required: true - - - type: markdown - attributes: - value: | - ### Before You Submit - - Please verify that you've followed these steps: - - I have searched [NuttX Documentation](https://nuttx.apache.org/docs/latest/) and didn't find an answer to my question. - - Search [existing issues](https://github.com/apache/nuttx/issues) (including [closed](https://github.com/apache/nuttx/issues?q=is%3Aissue+is%3Aclosed)) - - - type: checkboxes - attributes: - label: "Verification" - options: - - label: "I have verified before submitting the report." - required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 3ba13e0cec6cb..0000000000000 --- a/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: false diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index a13f0c59ccb68..0000000000000 --- a/.github/labeler.yml +++ /dev/null @@ -1,200 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -# - -# add arch labels - -"Arch: arm": - - changed-files: - - any-glob-to-any-file: 'arch/arm/**' - -"Arch: arm64": - - changed-files: - - any-glob-to-any-file: 'arch/arm64/**' - -"Arch: avr": - - changed-files: - - any-glob-to-any-file: 'arch/avr/**' - -"Arch: ceva": - - changed-files: - - any-glob-to-any-file: 'arch/ceva/**' - -"Arch: hc": - - changed-files: - - any-glob-to-any-file: 'arch/hc/**' - -"Arch: mips": - - changed-files: - - any-glob-to-any-file: 'arch/mips/**' - -"Arch: openrisc": - - changed-files: - - any-glob-to-any-file: 'arch/or1k/**' - -"Arch: renesas": - - changed-files: - - any-glob-to-any-file: 'arch/renesas/**' - -"Arch: risc-v": - - changed-files: - - any-glob-to-any-file: 'arch/risc-v/**' - -"Arch: simulator": - - changed-files: - - any-glob-to-any-file: 'arch/sim/**' - -"Arch: sparc": - - changed-files: - - any-glob-to-any-file: 'arch/sparc/**' - -"Arch: tricore": - - changed-files: - - any-glob-to-any-file: 'arch/tricore/**' - -"Arch: x86": - - changed-files: - - any-glob-to-any-file: 'arch/x86/**' - -"Arch: x86_64": - - changed-files: - - any-glob-to-any-file: 'arch/x86_64/**' - -"Arch: xtensa": - - changed-files: - - any-glob-to-any-file: 'arch/xtensa/**' - -"Arch: z16": - - changed-files: - - any-glob-to-any-file: 'arch/z16/**' - -"Arch: z80": - - changed-files: - - any-glob-to-any-file: 'arch/z80/**' - -# add area labels - -"Area: Audio": - - changed-files: - - any-glob-to-any-file: 'audio/**' - - any-glob-to-any-file: 'drivers/audio/**' - - any-glob-to-any-file: 'include/nuttx/audio/**' - -"Area: Binfmt": - - changed-files: - - any-glob-to-any-file: 'binfmt/**' - - any-glob-to-any-file: 'include/nuttx/binfmt/**' - -"Area: Bluetooth": - - changed-files: - - any-glob-to-any-file: 'wireless/bluetooth/**' - - any-glob-to-any-file: 'nuttx/drivers/wireless/bluetooth/**' - - any-glob-to-any-file: 'include/nuttx/wireless/bluetooth/**' - -"Area: Board support": - - changed-files: - - any-glob-to-any-file: 'boards/**' - -"Area: Build system": - - changed-files: - - any-glob-to-any-file: 'Makefile' - - any-glob-to-any-file: 'CMakeLists.txt' - - any-glob-to-any-file: 'cmake/**' - - any-glob-to-any-file: 'tools/*.mk' - -"Area: CI": - - changed-files: - - any-glob-to-any-file: '.github/**' - - any-glob-to-any-file: 'tools/ci/**' - -"Area: Crypto": - - changed-files: - - any-glob-to-any-file: 'crypto/**' - - any-glob-to-any-file: 'drivers/crypto/**' - - any-glob-to-any-file: 'include/crypto/**' - - any-glob-to-any-file: 'include/nuttx/crypto/**' - -"Area: Documentation": - - changed-files: - - any-glob-to-any-file: 'Documentation/**' - - any-glob-to-any-file: 'README.md' - - any-glob-to-any-file: 'ReleaseNotes' - - any-glob-to-any-file: 'CONTRIBUTING.md' - - any-glob-to-any-file: 'INVIOLABLES.md' - -"Area: File System": - - changed-files: - - any-glob-to-any-file: 'fs/**' - - any-glob-to-any-file: 'include/nuttx/fs/**' - -"Area: Github Actions": - - changed-files: - - any-glob-to-any-file: '.github/actions/**' - -"Area: Graphics": - - changed-files: - - any-glob-to-any-file: 'graphics/**' - - any-glob-to-any-file: 'drivers/lcd/**' - - any-glob-to-any-file: 'include/nuttx/lcd/**' - -"Area: Memory Management": - - changed-files: - - any-glob-to-any-file: 'mm/**' - - any-glob-to-any-file: 'include/nuttx/mm/**' - -"Area: Networking": - - changed-files: - - any-glob-to-any-file: 'net/**' - - any-glob-to-any-file: 'drivers/net/**' - - any-glob-to-any-file: 'include/nuttx/net/**' - -"Area: OS Components": - - changed-files: - - any-glob-to-any-file: 'sched/**' - - any-glob-to-any-file: 'syscall/**' - - any-glob-to-any-file: 'libs/**' - -"Area: PCI": - - changed-files: - - any-glob-to-any-file: 'drivers/pci/**' - - any-glob-to-any-file: 'include/nuttx/pci/**' - -"Area: Sensors": - - changed-files: - - any-glob-to-any-file: 'drivers/sensors/**' - - any-glob-to-any-file: 'include/nuttx/sensors/**' - - any-glob-to-any-file: 'include/nuttx/uorb.h' - -"Area: Tooling": - - changed-files: - - any-glob-to-any-file: 'tools/**' - -"Area: USB": - - changed-files: - - any-glob-to-any-file: 'drivers/usbdev/**' - - any-glob-to-any-file: 'drivers/usbhost/**' - - any-glob-to-any-file: 'drivers/usbmisc/**' - - any-glob-to-any-file: 'drivers/usbmonitor/**' - - any-glob-to-any-file: 'include/nuttx/usb/**' - -"Area: Video": - - changed-files: - - any-glob-to-any-file: 'video/**' - - any-glob-to-any-file: 'drivers/video/**' - - any-glob-to-any-file: 'include/nuttx/video/**' diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 38dc88c01d46e..475c529275ecf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,25 +13,13 @@ name: Build on: - pull_request: - paths-ignore: - - 'Documentation/**' - - 'tools/ci/docker/linux/**' push: - paths-ignore: - - 'Documentation/**' - branches: - - master - - 'releases/*' - tags: + branches: [master] + pull_request: permissions: contents: read -concurrency: - group: build-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true - jobs: Fetch-Source: runs-on: ubuntu-latest @@ -73,7 +61,7 @@ jobs: APPS_REF=$REF_NAME ;; - "tiiuae/incubator-nuttx-apps" ) + "tiiuae/nuttx-apps" ) # APPS OS_REF=$REF_NAME echo "Triggered by change in APPS" @@ -101,7 +89,7 @@ jobs: - name: Checkout apps repo uses: actions/checkout@v4 with: - repository: tiiuae/incubator-nuttx-apps + repository: tiiuae/nuttx-apps ref: ${{ steps.gittargets.outputs.apps_ref }} path: sources/apps fetch-depth: 1 @@ -115,157 +103,14 @@ jobs: name: source-bundle path: sources.tar.gz - Linux: - needs: Fetch-Source + Build: runs-on: ubuntu-latest - env: - DOCKER_BUILDKIT: 1 - - strategy: - max-parallel: 12 - matrix: - boards: [arm-12, risc-v] - - steps: - - name: Download Source Artifact - uses: actions/download-artifact@v4 - with: - name: source-bundle - path: . - - - name: Extract sources - run: tar zxf sources.tar.gz - - - name: Docker Login - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker Pull - run: docker pull ghcr.io/apache/nuttx/apache-nuttx-ci-linux - - - name: Export NuttX Repo SHA - run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV - - - name: Run builds - uses: ./sources/nuttx/.github/actions/ci-container - env: - BLOBDIR: /tools/blobs - with: - run: | - echo "::add-matcher::sources/nuttx/.github/gcc.json" - export ARTIFACTDIR=`pwd`/buildartifacts - git config --global --add safe.directory /github/workspace/sources/nuttx - git config --global --add safe.directory /github/workspace/sources/apps - cd sources/nuttx/tools/ci - if [ "X${{matrix.boards}}" = "Xcodechecker" ]; then - ./cibuild.sh -c -A -N -R --codechecker testlist/${{matrix.boards}}.dat - else - ./cibuild.sh -c -A -N -R -S testlist/${{matrix.boards}}.dat - fi - - - uses: actions/upload-artifact@v4 - if: ${{ always() }} - with: - name: linux-${{matrix.boards}}-builds - path: buildartifacts/ - continue-on-error: true - - macOS: - if: ${{ false }} # disable for now - permissions: - contents: none - runs-on: macos-13 needs: Fetch-Source - strategy: - max-parallel: 2 - matrix: - boards: [macos, sim-01, sim-02] - steps: - - name: Download Source Artifact - uses: actions/download-artifact@v4 - with: - name: source-bundle - path: . - - - name: Extract sources - run: tar zxf sources.tar.gz - - - name: Restore Tools Cache - id: cache-tools - uses: actions/cache@v4 - env: - cache-name: ${{ runner.os }}-cache-tools - with: - path: ./sources/tools - key: ${{ runner.os }}-tools-${{ hashFiles('./sources/nuttx/tools/ci/platforms/darwin.sh') }} - - - name: Export NuttX Repo SHA - run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV - - # Released version of Cython has issues with Python 11. Set runner to use Python 3.10 - # https://github.com/cython/cython/issues/4500 - - uses: actions/setup-python@v5 - with: - python-version: '3.10' - - name: Run Builds - run: | - echo "::add-matcher::sources/nuttx/.github/gcc.json" - export ARTIFACTDIR=`pwd`/buildartifacts - cd sources/nuttx/tools/ci - ./cibuild.sh -i -c -A -R testlist/${{matrix.boards}}.dat - - - uses: actions/upload-artifact@v4 - with: - name: macos-${{matrix.boards}}-builds - path: buildartifacts/ - continue-on-error: true - - msys2: - needs: Fetch-Source - runs-on: windows-latest strategy: fail-fast: false - max-parallel: 1 matrix: - boards: [msys2] - - defaults: - run: - shell: msys2 {0} + boards: [ssrc-arm, ssrc-riscv] steps: - - uses: actions/checkout@v4 - - uses: msys2/setup-msys2@v2 - with: - msystem: MSYS - update: false - install: >- - base-devel - gcc - gperf - automake - autoconf - git - python3 - ncurses-devel - unzip - zip - tio - zlib-devel - cmake - ninja - python-pip - vim - - - name: pip3 install - run: | - python3 -m venv --system-site-packages /usr/local - pip3 install --root-user-action=ignore --no-cache-dir pyelftools cxxfilt kconfiglib - - - run: git config --global core.autocrlf false - - name: Download Source Artifact uses: actions/download-artifact@v4 with: @@ -275,20 +120,11 @@ jobs: - name: Extract sources run: tar zxf sources.tar.gz - - name: Export NuttX Repo SHA - run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV - - - name: Run Builds + # cibuild.sh -i installs the tools for us + - name: Run builds run: | echo "::add-matcher::sources/nuttx/.github/gcc.json" export ARTIFACTDIR=`pwd`/buildartifacts - git config --global --add safe.directory /github/workspace/sources/nuttx - git config --global --add safe.directory /github/workspace/sources/apps cd sources/nuttx/tools/ci - ./cibuild.sh -g -i -A -C -N -R testlist/${{matrix.boards}}.dat + ./cibuild.sh -i -c -A -R testlist/${{matrix.boards}}.dat - - uses: actions/upload-artifact@v4 - with: - name: msys2-${{matrix.boards}}-builds - path: buildartifacts/ - continue-on-error: true diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index abcd35cf08c12..ce1084293ba48 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -38,7 +38,7 @@ jobs: - name: Checkout apps uses: actions/checkout@v4 with: - repository: 'tiiuae/incubator-nuttx-apps.git' + repository: 'tiiuae/nuttx-apps.git' path: 'apps' ref: 'master' - name: Install tools diff --git a/.github/workflows/docker_linux.yml b/.github/workflows/docker_linux.yml index c10c3c70e75fb..7fc5b8ae8c595 100644 --- a/.github/workflows/docker_linux.yml +++ b/.github/workflows/docker_linux.yml @@ -13,7 +13,6 @@ name: Docker-Linux on: - workflow_dispatch: push: # Publish `master` as Docker `latest` image. branches: diff --git a/nxstyle b/nxstyle new file mode 100755 index 0000000000000..5c65cced4776f Binary files /dev/null and b/nxstyle differ