ci: Sync build.yml workflow with NuttX repository.

Update the  workflow in nuttx-apps to match the
corresponding workflow in the main NuttX repository, ensuring
consistency across both CI configurations.

This synchronization follows the guidance from:
https://lupyuen.org/articles/ci3\#sync-to-nuttx-apps

* Aligns CI triggers, job structure, and naming conventions.
* Maintains consistency between NuttX and nuttx-apps CI setups.

Signed-off-by: trns1997 <trns1997@gmail.com>
This commit is contained in:
trns1997 2025-10-18 14:46:39 +02:00 committed by Xiang Xiao
parent 847f862fd4
commit 4f5d25e1eb

View file

@ -190,6 +190,51 @@ jobs:
path: buildartifacts/
continue-on-error: true
# Test the out-of-tree build
OOT-Build:
needs: Linux
runs-on: ubuntu-latest
env:
DOCKER_BUILDKIT: 1
steps:
- name: Download Source Artifact
uses: actions/download-artifact@v5
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: Export NuttX Repo SHA
run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV
- name: Run Out-of-Tree Build Test
uses: ./sources/nuttx/.github/actions/ci-container
env:
BLOBDIR: /tools/blobs
with:
run: |
echo "::add-matcher::sources/nuttx/.github/gcc.json"
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-oot.sh
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: oot-build-artifacts
path: sources/apps/testing/cxx-oot-build
continue-on-error: true
# Select the macOS Builds based on PR Arch Label
macOS-Arch:
uses: apache/nuttx-apps/.github/workflows/arch.yml@master
@ -295,7 +340,7 @@ jobs:
zlib-devel
cmake
ninja
python-pip
python-pip
vim
- name: pip3 install
@ -382,4 +427,4 @@ jobs:
with:
name: msvc-builds
path: ./sources/buildartifacts/
continue-on-error: true
continue-on-error: true