Commit Graph

84 Commits

Author SHA1 Message Date
Matheus Catarino
25bd3be167 tools/ci: add zig, ldc and swift
The main objective is to determine if the examples really work or if they have been obsoleted.
The languages included in the list promote good interoperability with the NuttX API (C predominant).

This will show if they are worth integrating in NuttX.

**FFI method**

- Rust: bindgen or c2rust
- D: importC
- Swift: Bridging header or clang modulemap.
- Zig: `@cImport/@cInclude` or translate-c
2024-08-26 10:25:54 +08:00
Lup Yuen Lee
52583fc17e tools/ci: Add Rust Target for QEMU RISC-V 64-bit
This PR updates the Docker Image for NuttX CI, so that it builds Rust Apps correctly for QEMU RISC-V 64-bit. We add the Rust Target for `riscv64gc-unknown-none-elf` to the Docker Image.

In the next PR, we will call the Updated Docker Image to [compile the Rust App `leds_rust`](https://github.com/apache/nuttx/pull/12852), at every run of NuttX CI. This will validate whether Rust Apps are built correctly for QEMU RISC-V 64-bit.

Modified Files:

`tools/ci/docker/linux/Dockerfile`: Add Rust Target `riscv64gc-unknown-none-elf` for Docker CI

`tools/ci/platforms/ubuntu.sh`: Same as above, but for Ubuntu CI

`tools/ci/platforms/msys2.sh`: Same as above, but for MSYS2 CI
2024-08-07 19:59:56 +08:00
Almir Okato
457f9d3dce ci: update required esptool version to 4.8.dev4
This esptool version is required when building the
default Simple Boot for Espressif chips.

Signed-off-by: Almir Okato <almir.okato@espressif.com>
2024-07-04 18:22:24 -03:00
simbit18
a3828c08da tools/ci/docker/linux/Dockerfile: add AVR32 GCC toolchain
Add prebuilt AVR32 GCC toolchain
2024-06-18 23:15:39 +08:00
yinshengkai
a517f12f3d tools/docker: install file/tclsh tools
fix CI compilation errors:
github/workspace/sources/apps/database/sqlite/sqlite/configure: line 5204: /usr/bin/file: No such file or directory
/github/workspace/sources/apps/database/sqlite/sqlite/configure: line 10376: tclsh: command not found
/github/workspace/sources/apps/database/sqlite/sqlite/configure: line 10812: tclsh: command not found
/github/workspace/sources/apps/database/sqlite/sqlite/configure: line 10826: tclsh: command not found
configure: WARNING: Can't find Tcl configuration definitions
configure: WARNING: *** Without Tcl the regression tests cannot be executed ***
configure: WARNING: *** Consider using --with-tcl=... to define location of Tcl ***
make[4]: warning: -j0 forced in submake: resetting jobserver mode.
/github/workspace/sources/apps/database/sqlite/sqlite/tool/cktclsh.sh: 5: tclsh: not found
make[4]: *** [Makefile:793: has_tclsh84] Error 1
make[4]: Target 'sqlite3.c' not remade because of errors.
make[3]: *** [Makefile:52: context] Error 2
make[2]: *** [Makefile:53: /github/workspace/sources/apps/database/sqlite_context] Error 2
make[2]: Target 'context_all' not remade because of errors.
make[1]: *** [Makefile:175: context] Error 2
make: *** [tools/Unix.mk:452: /github/workspace/sources/apps/.context] Error 2

Signed-off-by: yinshengkai <yinshengkai@xiaomi.com>
2024-05-20 10:12:04 +08:00
zhanghongyu
b3dcebce07 linux/Dockerfile: Add the python3 coloredlogs package for the matter build
Depend on this package when we compile using the build_examples.py script that comes with matter.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2024-01-10 09:47:54 -08:00
Xiang Xiao
b68aa89e56 tools/ci: Upgrade riscv toolchain to v13.2.0
from https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/releases/tag/v13.2.0-2

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-17 18:25:24 +01:00
Xiang Xiao
dc1a2135de tools/ci: Upgrade arm/arm64 toolchain to 13.2.Rel1
from https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-17 17:33:08 +01:00
zhanghongyu
404616d621 linux_Dockerfile: only copy gn binary into docker
Minimize the size of the docker image

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-11 10:46:47 +01:00
Xiang Xiao
69e413c678 ci/docker: Revert the change about gn to unblock ci
Revert "ci/docker: Fix " Could not find GN_EXECUTABLEXX using the following names: gn""
This reverts commit d6ac9e1aed.

Revert "tools/ci: Skip copy gn temporary files"
This reverts commit 4673fccece.
2023-12-10 06:39:30 -08:00
Xiang Xiao
d6ac9e1aed ci/docker: Fix " Could not find GN_EXECUTABLEXX using the following names: gn"
report here:
https://github.com/apache/nuttx-apps/actions/runs/7149109828/job/19470959712?pr=2225
regression by:
https://github.com/apache/nuttx/pull/11345

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-08 22:57:35 -08:00
Xiang Xiao
4673fccece tools/ci: Skip copy gn temporary files
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-12-08 16:10:17 +01:00
ThomasNS
b0f245b33f upgrade to gcc 12 in docker 2023-12-06 07:47:34 -08:00
zhanghongyu
4087e21dea ci_sim01: install g++-multilib into docker to support libcxx
fix build break:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/11/libstdc++.so when searching for -lstdc++
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-06 06:20:05 +01:00
zhanghongyu
c17fcb5ddd ci_sim: the version of nodejs obtained by apt install is too low
so using npm to upgrade the nodejs tool to the latest

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-04 11:25:40 -08:00
zhanghongyu
a18a0d20eb ci_sim: the version of gn obtained by apt install is too low
so dynamically download and install the latest gn tools

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-04 03:58:27 -08:00
zhanghongyu
e0df6dd22e ci_sim: add the tools needed at matter compile
add the tools needed for the compilation environment and docker first, then add matter compilation to cilist

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
2023-12-04 00:33:54 -08:00
Xiang Xiao
d30daa54b0 tools/ci: Upgrade clang arm toolchain to 17.0.1
from https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/tag/release-17.0.1

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-11-26 12:49:55 +01:00
Masayuki Ishikawa
5f15c73219 Documentation, tools: Bump xpack-riscv-none-elf-gcc to 12.3.0-2
Summary:
- Upgraded to xpack-riscv-none-elf-gcc-12.3.0-2 to resolve symbol recognition
  issues in riscv-none-elf-gdb, as reported in
  https://github.com/xpack-dev-tools/riscv-none-elf-gcc-xpack/issues/22.

Impact:
- Expected to enhance toolchain stability with no negative side effects.

Testing:
- Verified with rv-virt:netnsh and rv-virt:netnsh64 configurations

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
2023-11-14 12:33:36 +01:00
Xiang Xiao
f6681218f4 ci: Update aarch64 gcc toolchain to 12.3.rel1
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-09-19 22:37:54 +08:00
Huang Qi
89e409a194 tools: Switch riscv GCC to 12.3
GCC13 have compatibility issue with libcxx (need libcxx 17+).

Please refer to: https://github.com/llvm/llvm-project/issues/62396

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2023-09-19 11:42:51 +08:00
Huang Qi
43610f75f1 tools: Use GCC 13.2 from xPack for risc-v 2023-09-18 21:25:13 +08:00
fangfei6
d0f84bd745 tools/ci: Update docker to ubuntu 22.04 and Update Renesas toolchain 8.3.0
Signed-off-by: fangfei6 <fangfei6@xiaomi.com>
2023-08-24 00:03:06 +08:00
Xiang Xiao
a107cc2ee0 tools/ci: Update arm toolchain to 12.3rel1
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-23 10:12:52 +08:00
Xiang Xiao
e2166eca55 Revert "ci/Dockerfile: Update riscv toolchain to gcc13.2.0"
This reverts commit 7b34583996.
2023-08-22 22:33:37 +08:00
Xiang Xiao
7b34583996 ci/Dockerfile: Update riscv toolchain to gcc13.2.0
and change the default toolchain to riscv32-unknown-elf-

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-22 15:14:44 +08:00
Xiang Xiao
cd93b8c5ab tools/ci: Don't install CodeChecker in the final docker image
since it fail to install on ubuntu 22.04:
ERROR: failed to solve: process "/bin/sh -c pip3 install CodeChecker" did not complete successfully: exit code: 1
Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c pip3 install CodeChecker" did not complete successfully: exit code: 1

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-18 15:35:59 +03:00
Xiang Xiao
c04d8560d3 tools/ci: Update the final docker image to ubuntu 22.04
g++ need update to the new version for libcxx 15.0.7

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-08-18 15:35:59 +03:00
raiden00pl
44b5eb3751 cmake: update docker cmake to 3.26.0 2023-07-24 09:53:22 -07:00
chao an
df9f700c28 tools/ci: print cmake warning message only once
1. print cmake warning message only once
2. Touch Dockerfile to update the ci-docker

Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-20 21:40:34 +08:00
chao an
7eff229838 tools/ci/checkpatch: add cmake style check into ci-check
Signed-off-by: chao an <anchao@xiaomi.com>
2023-07-18 10:09:48 -03:00
chao an
df6d799577 tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22
x86_64 Linux hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

Remove toolchain workaround which already fixed by ARM:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2023-06-26 20:03:38 +08:00
Petro Karashchenko
f84f30fe17 tools/ci: upgrade to the latest Xtensa ESP32 toolchains
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2023-03-21 21:59:30 -03:00
chao an
a7de849944 tools/ci: setup wasi-sdk/wamrc into cibuild
wasi-sdk:
https://github.com/WebAssembly/wasi-sdk
wamrc:
https://github.com/bytecodealliance/wasm-micro-runtime

Signed-off-by: chao an <anchao@xiaomi.com>
2023-03-04 01:40:25 +08:00
Xiang Xiao
2c5f653bfd Remove the tail spaces from all files except Documentation
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-26 13:24:24 -08:00
zhangyuan21
3c162b1e14 tools/ci: add libusb1.0 package
Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-02-26 22:39:57 +08:00
chao an
b8ef55d201 Revert "tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22"
This reverts commit 809252e3fd.

Wrong warning array subscript [0] is outside array bounds:

|  chip/lpc43_usb0dev.c: In function 'lpc43_getframe':
|  arch/arm/src/common/arm_internal.h:134:25: warning: array subscript 0 is outside array bounds of 'volatile uint32_t[0]' {aka 'volatile long unsigned int[]'} [-Warray-bounds]
|    134 | #define getreg32(a)    (*(volatile uint32_t *)(a))
|        |                        ~^~~~~~~~~~~~~~~~~~~~~~~~~~
|  chip/lpc43_usb0dev.c:347:33: note: in expansion of macro 'getreg32'
|    347 | # define lpc43_getreg(addr)     getreg32(addr)
|        |                                 ^~~~~~~~
|  chip/lpc43_usb0dev.c:2605:15: note: in expansion of macro 'lpc43_getreg'
|   2605 |   return (int)lpc43_getreg(LPC43_USBDEV_FRINDEX_OFFSET);
|        |

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105523

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 20:05:13 +08:00
chao an
809252e3fd tools/ci: Update GNU Arm Embedded Toolchain to Version 12.2-2022.12.22
x86_64 Linux hosted cross toolchains
AArch32 bare-metal target (arm-none-eabi)

arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi.tar.xz

Remove toolchain workaround which already fixed by ARM:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/53470/arm-gnu-toolchain-11-3-rel1-x86_64-arm-none-eabi-wrong-newlib-version-strings-error-when-stdlib-h-is-included

Signed-off-by: chao an <anchao@xiaomi.com>
2023-02-20 16:20:39 +08:00
Xiang Xiao
d5b510e023 tools/ci: Install genromfs instead building it from source code
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-17 16:01:52 +08:00
Xiang Xiao
0582930e4b tools/ci: Install python kconfiglib
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2023-02-17 16:01:52 +08:00
Fotis Panagiotopoulos
290a9157eb checkpatch: Added encoding check with cvt2utf 2023-02-01 20:42:35 +08:00
qiaohaijiao1
869d3bfb32 tools/ci/docker/linux/Dockerfile: add libmp3lame-dev:i386
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2023-02-01 13:29:01 +08:00
Peter Bee
e1561f8512 tools/ci/docker/linux/Dockerfile: add libv4l-dev
Signed-off-by: Peter Bee <bijunda1@xiaomi.com>
2022-12-14 12:17:37 +08:00
Gustavo Henrique Nihei
6711b37662 tools/ci: Update RISC-V toolchain in Dockerfile to latest version
The #6094 updated the toolchain, but only in the script used by MacOS
CI runners.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2022-12-08 17:13:41 -03:00
qiaohaijiao1
127a3585cc tools/ci/docker/linux/Dockerfile: add libmad0-dev in docker environment
Signed-off-by: qiaohaijiao1 <qiaohaijiao1@xiaomi.com>
2022-11-29 00:20:25 +08:00
xinbingnan
4800c166ec Dockerfile: fix cp clang-extdef-mapping no effect
Use a wrong command `CMD`, and the correct is `RUN`.
That's a low level fault made by me.

Signed-off-by: xinbingnan <xinbingnan@xiaomi.com>
2022-11-28 14:31:19 +01:00
Nathan Hartman
03802dad13 NuttX graduated the Incubator; update repository links 2022-11-26 11:58:15 -08:00
chao an
f23ec0f995 Revert "tools/ci/arm/llvm/clang: bump up LLVMEmbeddedToolchainForArm to release-15.0.2"
This reverts commit b4bab51e86.

Issue:
Builtin math symbols are missing on llvm 15.0.2(libm.a):
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/issues/158

Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-22 07:43:02 -08:00
chao an
b4bab51e86 tools/ci/arm/llvm/clang: bump up LLVMEmbeddedToolchainForArm to release-15.0.2
Upstream:
https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/releases/tag/release-15.0.2

Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-22 19:07:13 +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