Brijesh-Thakkar opened a new pull request, #20959:
URL: https://github.com/apache/nuttx/pull/20959
## Summary
`tools/ci/testlist/macos.dat` selects configurations with leading-"/"
entries,
which `testbuild.sh` expands with `find boards<path>`. Three entries point to
directories that no longer exist, so `find` prints "No such file or
directory",
the entry selects nothing and `testbuild.sh` carries on. The macOS list
therefore builds fewer configurations than intended, and nothing fails.
| entry in macos.dat | new entry | why it was stale |
|---|---|---|
| `/x86_64/intel64/qemu-intel64/configs/nsh` |
`/x86_64/qemu/qemu-intel64/configs/nsh` | 89eddf6396 "arch/x64: create qemu
chip" (2025-03-04) renamed `boards/x86_64/intel64` to `boards/x86_64/qemu` |
| `/risc-v/esp32c3-legacy/esp32c3-devkit/configs/cxx` |
`/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/configs/cxx` | 1218ecfd88
"boards/risc-v/esp32c3: deprecate esp32c3 boards based on esp32c3-legacy arch"
(2025-11-19) renamed the board |
| `/risc-v/esp32c3-legacy/esp32c3-devkit/configs/wifi` |
`/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/configs/wifi` | same |
## Impact
* `testbuild.sh -p ci/testlist/macos.dat` goes from 5 to 8 configurations
and no longer reports a missing directory.
* macOS builds are currently skipped in CI (`Skip all macOS Builds` in
`.github/workflows/arch.yml`, added by e75ac114c1 "CI: Disable all jobs
for
macOS and Windows", 2024-10-17), so this does not change what CI builds
today. It matters for local use of the list and for when macOS builds are
re-enabled.
* Whether the three configurations build on macOS cannot be confirmed
without a macOS runner. What I could check:
- `tools/ci/platforms/darwin.sh` and `darwin_arm64.sh` install
`x86_64-elf-gcc` (homebrew), which is the `CROSSDEV` default of
`arch/x86_64/src/common/Toolchain.defs`, and the xPack RISC-V
toolchain used by `bl602evb:wifi`, which is already in the list.
- The x86_64 entry was in `macos.dat` since 2021 (15b99d1f4b) and the
esp32c3-legacy entries since 2023 (the path was last fixed by
391badcb24), i.e. before macOS CI was disabled. I did not look at old
CI logs.
- The move to `boards/x86_64/qemu` changed paths only (89eddf6396
renames `configs/nsh/defconfig` with 98% similarity).
If one of them fails once macOS builds are re-enabled, that is a real
macOS issue that this stale path was hiding.
## Testing
Before (`tools/`, upstream/master d17f5c91e4):
```
$ ./testbuild.sh -p ci/testlist/macos.dat 2>&1 | grep -iE "intel64|No such"
find: ‘boards/risc-v/esp32c3-legacy/esp32c3-devkit/configs/cxx’: No such
file or directory
find: ‘boards/risc-v/esp32c3-legacy/esp32c3-devkit/configs/wifi’: No such
file or directory
find: ‘boards/x86_64/intel64/qemu-intel64/configs/nsh’: No such file or
directory
```
5 configurations listed (stm32f4discovery, qemu-armv8a, arduino-mega2560,
bl602evb, esp32-devkitc), none for qemu-intel64 or esp32c3.
After:
```
$ ./testbuild.sh -p ci/testlist/macos.dat 2>&1 | grep -iE "intel64|legacy|No
such"
Configuration/Tool: esp32c3-legacy-devkit/cxx
Configuration/Tool: esp32c3-legacy-devkit/wifi
Configuration/Tool: qemu-intel64/nsh
```
8 configurations listed and no "No such file or directory".
I ran the same `-p` check on every `tools/ci/testlist/*.dat`. The only
remaining "No such file or directory" messages come from glob ranges that
intentionally match no directory (`risc-v-04.dat`: `/risc-v/e[t-z]*`,
`/risc-v/q[0-d]*`; `risc-v-06.dat`: `/risc-v/q[f-z]*`), which I left alone.
`./tools/checkpatch.sh -g upstream/master..HEAD` passes.
Caveat: this only checks which configurations are selected. It does not
build them; only macOS CI can confirm the builds themselves.
Generated-by: Claude Code (analysis, test runs and drafting); reviewed and
tested by me.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]