From 732c33ba973d90949cd19d5c61d996315a659f85 Mon Sep 17 00:00:00 2001 From: ligd Date: Thu, 17 Sep 2020 21:45:37 +0800 Subject: [PATCH 01/40] cibuild.sh: fix binutils path error Signed-off-by: ligd --- cibuild.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cibuild.sh b/cibuild.sh index ab76bd9..004216a 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -326,12 +326,14 @@ function c-cache { } function binutils { - add_path /usr/local/binutils/bin/ + mkdir -p $prebuilt/bintools/bin + add_path $prebuilt/bintools/bin if ! type objcopy > /dev/null; then case $os in Darwin) brew install binutils + ln -s /usr/local/opt/binutils/bin/objcopy $prebuilt/bintools/bin/objcopy ;; esac fi From d2d80e7a9b367fb6b9c7c4f4198a33286730d79c Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Wed, 23 Sep 2020 14:40:13 +0800 Subject: [PATCH 02/40] cibuild.sh: Remove the flock installation follow up the apps repo change: commit 18137c0fec3cea30871f29238e11ea0f4e8523da Author: Matias N Date: Sat Sep 12 00:36:23 2020 -0300 Fix: ensure archive files do not carry object files from prior builds This is the corresponding change to the one on main NuttX repo. In this case this involves splitting the build of libapps.a into: a) building all applications (which is safely parallelizable), b) adding each application's object files to the archive in turns (serial by nature). This removes the need for the flock used to protect the parallel build. Signed-off-by: Xiang Xiao --- cibuild.sh | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/cibuild.sh b/cibuild.sh index 004216a..928ea8f 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -37,7 +37,7 @@ EXTRA_PATH= case $os in Darwin) - install="python-tools u-boot-tools discoteq-flock elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache binutils" + install="python-tools u-boot-tools elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache binutils" mkdir -p ${prebuilt}/homebrew export HOMEBREW_CACHE=${prebuilt}/homebrew ;; @@ -70,17 +70,6 @@ function u-boot-tools { fi } -function discoteq-flock { - if ! type flock > /dev/null; then - case $os in - Darwin) - brew tap discoteq/discoteq - brew install flock - ;; - esac - fi -} - function elf-toolchain { if ! type x86_64-elf-gcc > /dev/null; then case $os in From 4e5964f5c2dedcd95ab9a46b7f1d27c7c5665dc2 Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Sun, 27 Sep 2020 18:53:53 -0700 Subject: [PATCH 03/40] ci: Handle case where prebuilt was cached but brew install binutils We create a simlink in prebuilt for certain tools like objcopy that are brew installed from binutils. It is likely that we will cache the simlink, but still need to brew install binutils this will fail because we will try to create the symlink again. This change always recreates the symlink if the brew install was required. Signed-off-by: Brennan Ashton --- cibuild.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cibuild.sh b/cibuild.sh index 928ea8f..62ab8f1 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -322,6 +322,9 @@ function binutils { case $os in Darwin) brew install binutils + # It is possible we cached prebuilt but did brew install so recreate + # simlink if it exists + rm -f $prebuilt/bintools/bin/objcopy ln -s /usr/local/opt/binutils/bin/objcopy $prebuilt/bintools/bin/objcopy ;; esac From e92fc1de7b14bf7f167625770f350af302961d26 Mon Sep 17 00:00:00 2001 From: "ramya.n" Date: Wed, 23 Sep 2020 20:22:28 +0530 Subject: [PATCH 04/40] Added renesas precheck --- .github/workflows/build.yml | 2 +- cibuild.sh | 4 +++- testlist/all.dat | 6 ++++++ testlist/renesas.dat | 5 +++++ 4 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 testlist/renesas.dat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 56af0b1..c515bee 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, avr-mips-riscv-x86-xtensa, sim] + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, avr-mips-riscv-x86-xtensa, sim, renesas] steps: - name: Checkout nuttx repo uses: actions/checkout@v2 diff --git a/cibuild.sh b/cibuild.sh index 62ab8f1..3178cb3 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -234,7 +234,8 @@ function rx-gcc-toolchain { if [ ! -f "$prebuilt/renesas-toolchain/rx-elf-gcc/bin/rx-elf-gcc" ]; then case $os in Linux) - # Download toolchain source code + # Download toolchain source code + # RX toolchain is built from source code. Once prebuilt RX toolchain is made available, the below code snippet can be removed. mkdir -p $prebuilt/renesas-tools/rx/source; cd $prebuilt/renesas-tools/rx/source wget --quiet https://gcc-renesas.com/downloads/d.php?f=rx/binutils/4.8.4.201803-gnurx/rx_binutils2.24_2018Q3.tar.gz \ -O rx_binutils2.24_2018Q3.tar.gz @@ -257,6 +258,7 @@ function rx-gcc-toolchain { cd $prebuilt/renesas-tools/rx/source/gcc chmod +x ./contrib/download_prerequisites ./configure ./move-if-change ./libgcc/mkheader.sh ./contrib/download_prerequisites + sed -i '1s/^/@documentencoding ISO-8859-1\n/' ./gcc/doc/gcc.texi sed -i 's/@tex/\n&/g' ./gcc/doc/gcc.texi && sed -i 's/@end tex/\n&/g' ./gcc/doc/gcc.texi mkdir -p $prebuilt/renesas-tools/rx/build/gcc; cd $prebuilt/renesas-tools/rx/build/gcc $prebuilt/renesas-tools/rx/source/gcc/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc \ diff --git a/testlist/all.dat b/testlist/all.dat index f2cb269..8bc56ee 100644 --- a/testlist/all.dat +++ b/testlist/all.dat @@ -30,3 +30,9 @@ /x86_64 /xtensa + +/renesas/rx65n/rx65n-grrose +-rx65n-grrose:ipv6 + +/renesas/rx65n/rx65n-rsk2mb +-rx65n-rsk2mb:ipv6 diff --git a/testlist/renesas.dat b/testlist/renesas.dat new file mode 100644 index 0000000..8288839 --- /dev/null +++ b/testlist/renesas.dat @@ -0,0 +1,5 @@ +/renesas/rx65n/rx65n-grrose +-rx65n-grrose:ipv6 + +/renesas/rx65n/rx65n-rsk2mb +-rx65n-rsk2mb:ipv6 From de3fd626f668b29942ce235a8700b8d29e52c710 Mon Sep 17 00:00:00 2001 From: nietingting Date: Sun, 27 Sep 2020 19:41:03 +0800 Subject: [PATCH 05/40] X[docker]: add python3-pexpect support Signed-off-by: nietingting --- cibuild.sh | 1 + docker/linux/Dockerfile | 1 + 2 files changed, 2 insertions(+) diff --git a/cibuild.sh b/cibuild.sh index 3178cb3..5b627b1 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -58,6 +58,7 @@ function python-tools { PYTHONUSERBASE=$prebuilt/pylocal export PYTHONUSERBASE add_path $PYTHONUSERBASE/bin + pip3 install pexpect } function u-boot-tools { diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 3a0d7a2..58797a4 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -113,6 +113,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q python-is-python3 \ python3-pip \ python3-setuptools \ + python3-pexpect \ make \ cmake \ ninja-build \ From 3eff63cae48f62bf94688a181390bf968c039957 Mon Sep 17 00:00:00 2001 From: "Alan C. Assis" Date: Mon, 5 Oct 2020 14:24:46 -0300 Subject: [PATCH 06/40] Update xtensa-esp32-elf toolchain --- docker/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 58797a4..8b4f607 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -102,7 +102,7 @@ RUN mkdir riscv64-unknown-elf-gcc && \ FROM nuttx-toolchain-base AS nuttx-toolchain-esp32 # Download the latest ESP32 GCC toolchain prebuilt by Espressif RUN mkdir xtensa-esp32-elf-gcc && \ - curl -s -L "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar.xz" \ + curl -s -L "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xJ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ From 36de49a4b486f7f9857f8964d154cdbdafca14a4 Mon Sep 17 00:00:00 2001 From: "Alan C. Assis" Date: Mon, 5 Oct 2020 14:38:40 -0300 Subject: [PATCH 07/40] Replace espressif.com with github.com for faster download --- docker/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 8b4f607..be5412c 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -102,7 +102,7 @@ RUN mkdir riscv64-unknown-elf-gcc && \ FROM nuttx-toolchain-base AS nuttx-toolchain-esp32 # Download the latest ESP32 GCC toolchain prebuilt by Espressif RUN mkdir xtensa-esp32-elf-gcc && \ - curl -s -L "https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ + curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xJ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ From 7b381d86e5b024f4079eac85a1d14c58d8c8f51f Mon Sep 17 00:00:00 2001 From: "Alan C. Assis" Date: Mon, 5 Oct 2020 15:03:02 -0300 Subject: [PATCH 08/40] Fix -xJ with -xz --- docker/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index be5412c..0b7142f 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -103,7 +103,7 @@ FROM nuttx-toolchain-base AS nuttx-toolchain-esp32 # Download the latest ESP32 GCC toolchain prebuilt by Espressif RUN mkdir xtensa-esp32-elf-gcc && \ curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ - | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xJ + | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xz RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ git \ From 21bed31c1d560dc5f8f7d8f75d2105ce4d559f3d Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Tue, 27 Oct 2020 02:21:27 +0800 Subject: [PATCH 09/40] testlist/sim.dat: Skip 32bit/X11 sim build for macOS since macOS don't support them Signed-off-by: Xiang Xiao --- testlist/sim.dat | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/testlist/sim.dat b/testlist/sim.dat index f05ef1f..aa3e5c9 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -3,14 +3,16 @@ # CONFIG_SIM_M32=y # The recent versions of macOS is 64-bit only --sim:loadable --sim:module32 --sim:sotest32 +-Darwin,sim:loadable +-Darwin,sim:module32 +-Darwin,sim:rpproxy +-Darwin,sim:rpserver +-Darwin,sim:sotest32 # X11 # macOS doesn't have X11 --sim:nsh2 --sim:nx11 --sim:nxlines --sim:nxwm --sim:touchscreen +-Darwin,sim:nsh2 +-Darwin,sim:nx11 +-Darwin,sim:nxlines +-Darwin,sim:nxwm +-Darwin,sim:touchscreen From 23312381d4a14527aba1ad004a695b8feef3d66d Mon Sep 17 00:00:00 2001 From: Bhindhiya <56781794+Bhindhiya@users.noreply.github.com> Date: Tue, 27 Oct 2020 16:30:04 +0530 Subject: [PATCH 10/40] Add ipv6 to Renesas precheck --- testlist/renesas.dat | 2 -- 1 file changed, 2 deletions(-) diff --git a/testlist/renesas.dat b/testlist/renesas.dat index 8288839..f25bb61 100644 --- a/testlist/renesas.dat +++ b/testlist/renesas.dat @@ -1,5 +1,3 @@ /renesas/rx65n/rx65n-grrose --rx65n-grrose:ipv6 /renesas/rx65n/rx65n-rsk2mb --rx65n-rsk2mb:ipv6 From 276c76e82db41b53469d7ec97503ea2527837771 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Wed, 28 Oct 2020 14:15:57 +0800 Subject: [PATCH 11/40] testlist: Merge avr-mips-riscv-x86-xtensa.dat and renesas.dat into other.dat will remove avr-mips-riscv-x86-xtensa.dat and renesas.dat after the script in nuttx/apps update Signed-off-by: Xiang Xiao --- .github/workflows/build.yml | 4 ++-- testlist/other.dat | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 testlist/other.dat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c515bee..52146e2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, avr-mips-riscv-x86-xtensa, sim, renesas] + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, sim] steps: - name: Checkout nuttx repo uses: actions/checkout@v2 @@ -91,7 +91,7 @@ jobs: strategy: matrix: - boards: [arm-12, avr-mips-riscv-x86-xtensa, sim] + boards: [arm-12, other, sim] steps: - name: Checkout nuttx repo diff --git a/testlist/other.dat b/testlist/other.dat new file mode 100644 index 0000000..32ae18c --- /dev/null +++ b/testlist/other.dat @@ -0,0 +1,35 @@ +# We do not have a toolchain for avr32 outside of Microchip login wall. +# The work was never upstreamed to GCC. + +/avr +-avr32dev1:nsh +-avr32dev1:ostest + +/renesas/rx65n/rx65n-grrose +/renesas/rx65n/rx65n-rsk2mb +-Darwin,rx65n-grrose:.* +-Darwin,rx65n-rsk2mb:.* + +# PINGUINOL toolchain doesn't provide macOS binaries +# with the same name +/mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL +-Darwin,flipnclick-pic32mz:.* +-Darwin,mirtoo:.* +-Darwin,pic32mx7mmb:.* +-Darwin,pic32mx-starterkit:.* +-Darwin,pic32mz-starterkit:.* +-Darwin,sure-pic32mx:.* +-Darwin,ubw32:.* + +/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL +-gapuino:nsh +-nr5m100-nexys4:nsh + +# x86_64-elf-gcc from homebrew doesn't seem to +# provide __udivdi3 etc for -m32 +/x86 +-Darwin,qemu-i486:.* + +/x86_64 + +/xtensa From 6613caa3b2894e77efd48267611dfb468079c1a3 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Thu, 29 Oct 2020 16:14:26 +0800 Subject: [PATCH 12/40] testlist: Remove avr-mips-riscv-x86-xtensa.dat and renesas.dat since all content in these two files transfer to other.dat now Signed-off-by: Xiang Xiao --- testlist/avr-mips-riscv-x86-xtensa.dat | 22 ---------------------- testlist/renesas.dat | 3 --- 2 files changed, 25 deletions(-) delete mode 100644 testlist/avr-mips-riscv-x86-xtensa.dat delete mode 100644 testlist/renesas.dat diff --git a/testlist/avr-mips-riscv-x86-xtensa.dat b/testlist/avr-mips-riscv-x86-xtensa.dat deleted file mode 100644 index 8096ae9..0000000 --- a/testlist/avr-mips-riscv-x86-xtensa.dat +++ /dev/null @@ -1,22 +0,0 @@ -# We do not have a toolchain for avr32 outside of Microchip login wall. -# The work was never upstreamed to GCC. - -/avr --avr32dev1:nsh --avr32dev1:ostest - -# PINGUINOL toolchain doesn't provide macOS binaries -# with the same name -# /mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL - -/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL --gapuino:nsh --nr5m100-nexys4:nsh - -# x86_64-elf-gcc from homebrew doesn't seem to -# provide __udivdi3 etc for -m32 -# /x86 - -/x86_64 - -/xtensa diff --git a/testlist/renesas.dat b/testlist/renesas.dat deleted file mode 100644 index f25bb61..0000000 --- a/testlist/renesas.dat +++ /dev/null @@ -1,3 +0,0 @@ -/renesas/rx65n/rx65n-grrose - -/renesas/rx65n/rx65n-rsk2mb From cd2e5c59c09dcd09a76651312fdea64ce499412a Mon Sep 17 00:00:00 2001 From: Matias N Date: Thu, 29 Oct 2020 23:00:02 -0300 Subject: [PATCH 13/40] add sim:lvgl to macOS exceptions --- testlist/sim.dat | 1 + 1 file changed, 1 insertion(+) diff --git a/testlist/sim.dat b/testlist/sim.dat index aa3e5c9..7f2b6e4 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -16,3 +16,4 @@ -Darwin,sim:nxlines -Darwin,sim:nxwm -Darwin,sim:touchscreen +-Darwin,sim:lvgl From 062743647e9b14ab3409555c306d87dcaa19d4d9 Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Fri, 30 Oct 2020 23:44:25 -0700 Subject: [PATCH 14/40] Add ALSA support in CI Signed-off-by: Brennan Ashton --- docker/linux/Dockerfile | 32 ++++++++++++++++---------------- testlist/sim.dat | 3 +++ 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 0b7142f..d0f9efe 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -213,30 +213,30 @@ LABEL maintainer="dev@nuttx.apache.org" RUN dpkg --add-architecture i386 # This is used for the final images so make sure to not store apt cache RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ - git \ + avr-libc \ build-essential \ + ccache \ + curl \ gcc \ - gcc-multilib \ gcc-avr \ - avr-libc \ - wget \ - libx11-dev \ - libxext-dev \ - u-boot-tools \ + gcc-multilib \ + gettext \ + git \ lib32z1-dev \ libc6-dev-i386 \ - libx11-dev:i386 \ - libxext-dev:i386 \ - linux-libc-dev:i386 \ - curl \ - gettext \ + libasound2-dev libasound2-dev:i386 \ libcurl4-openssl-dev \ - xxd \ - unzip \ + libpulse-dev libpulse-dev:i386 \ + libx11-dev libx11-dev:i386 \ + libxext-dev libxext-dev:i386 \ + linux-libc-dev:i386 \ python3 \ - python-is-python3 \ python3-pip \ - ccache \ + python-is-python3 \ + u-boot-tools \ + unzip \ + wget \ + xxd \ && rm -rf /var/lib/apt/lists/* diff --git a/testlist/sim.dat b/testlist/sim.dat index 7f2b6e4..f4740da 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -17,3 +17,6 @@ -Darwin,sim:nxwm -Darwin,sim:touchscreen -Darwin,sim:lvgl + +# macOS doesn't have ALSA +-Darwin,sim:alsa From 9cf3db3a0ea95c9b96784c1cfa6c10216694820f Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Mon, 2 Nov 2020 22:13:05 -0800 Subject: [PATCH 15/40] CI: Add Linux headers to docker image Signed-off-by: Brennan Ashton --- docker/linux/Dockerfile | 1 + testlist/sim.dat | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index d0f9efe..9265611 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -230,6 +230,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q libx11-dev libx11-dev:i386 \ libxext-dev libxext-dev:i386 \ linux-libc-dev:i386 \ + linux-headers-generic \ python3 \ python3-pip \ python-is-python3 \ diff --git a/testlist/sim.dat b/testlist/sim.dat index f4740da..44bdd19 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -20,3 +20,7 @@ # macOS doesn't have ALSA -Darwin,sim:alsa + +# Do not build Linux configs +-Darwin,sim:linux.* + From 76b96ee5bfe35aab3faa8d7e9dd3d48b5ec71934 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Wed, 11 Nov 2020 13:59:56 +0800 Subject: [PATCH 16/40] testlist: Enable cxxtest build on sim Signed-off-by: Xiang Xiao --- testlist/all.dat | 1 - testlist/sim.dat | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/testlist/all.dat b/testlist/all.dat index 8bc56ee..d9ccf21 100644 --- a/testlist/all.dat +++ b/testlist/all.dat @@ -23,7 +23,6 @@ -nr5m100-nexys4:nsh /sim --sim:cxxtest /x86 diff --git a/testlist/sim.dat b/testlist/sim.dat index 44bdd19..18a3d6d 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -1,5 +1,5 @@ /sim --sim:cxxtest +-Darwin,sim:cxxtest # CONFIG_SIM_M32=y # The recent versions of macOS is 64-bit only From 24de04a72985ad92bb8b165dc9890074e92d2239 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sat, 14 Nov 2020 02:22:47 +0800 Subject: [PATCH 17/40] testlist: Don't build sim:libcxxtest on macOS since macOS doesn't support c++ on sim yet Signed-off-by: Xiang Xiao --- testlist/sim.dat | 1 + 1 file changed, 1 insertion(+) diff --git a/testlist/sim.dat b/testlist/sim.dat index 18a3d6d..12e9ad4 100644 --- a/testlist/sim.dat +++ b/testlist/sim.dat @@ -1,5 +1,6 @@ /sim -Darwin,sim:cxxtest +-Darwin,sim:libcxxtest # CONFIG_SIM_M32=y # The recent versions of macOS is 64-bit only From ba8a2e36c4ac4397746881dafaefca32df2fe457 Mon Sep 17 00:00:00 2001 From: John Bampton Date: Sun, 13 Dec 2020 03:08:16 +1000 Subject: [PATCH 18/40] Fix spelling --- docker/linux/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 9265611..407f892 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -123,7 +123,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q libusb-1.0 RUN git clone --depth 1 --shallow-submodules --recursive https://github.com/espressif/esp-idf.git -# This is unfortunatly going to re-download some of the same toolchains, but will only be used in the context of esp-idf +# This is unfortunately going to re-download some of the same toolchains, but will only be used in the context of esp-idf RUN sed -i "s/^gdbgui.*/gdbgui==0.13.2.0/" esp-idf/requirements.txt RUN bash -c "\ cd esp-idf && \ From 186190ed784aaa5337814d6bfefe15b49c75f69e Mon Sep 17 00:00:00 2001 From: nietingting Date: Thu, 17 Dec 2020 14:52:52 +0800 Subject: [PATCH 19/40] docker: add gawk to docker Signed-off-by: nietingting --- docker/linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 407f892..981637c 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -33,6 +33,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q make \ cmake \ g++ \ + gawk \ git RUN mkdir /tools From 8989e4d84dfb3402a923c608ede34ada481e296e Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Tue, 29 Dec 2020 23:05:33 -0800 Subject: [PATCH 20/40] CI: Only use approved GitHub Actions Signed-off-by: Brennan Ashton --- .github/workflows/build.yml | 194 ++++++++++++----------------- .github/workflows/docker_linux.yml | 1 - .github/workflows/lint.yml | 14 +++ 3 files changed, 96 insertions(+), 113 deletions(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 52146e2..6c3b73d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,7 +17,7 @@ on: jobs: Linux: - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest env: DOCKER_BUILDKIT: 1 IMAGE_TAG: docker.pkg.github.com/${{ github.repository }}/nuttx-ci-linux @@ -25,122 +25,92 @@ jobs: strategy: matrix: boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, sim] - steps: - - name: Checkout nuttx repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx - path: nuttx - fetch-depth: 0 - - - name: Fetch nuttx tags - run: | - cd nuttx - git fetch --tags - - - name: Checkout apps repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-apps - path: apps - fetch-depth: 0 - - - name: Checkout testing repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-testing - path: testing - - - name: Docker Login - uses: azure/docker-login@v1 - with: - login-server: docker.pkg.github.com - username: ${GITHUB_ACTOR} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker Pull - uses: nick-invision/retry@v1 - with: - timeout_minutes: 10 - max_attempts: 3 - retry_wait_seconds: 10 - command: docker pull $IMAGE_TAG - - name: Restore ccache - id: ccache - uses: actions/cache@v2 - with: - path: ccache - key: ccache-${{ runner.os }}-${{matrix.boards}}-${{ github.run_id }} - restore-keys: ccache-${{ runner.os }}-${{matrix.boards}}- - - name: Run builds - uses: ./testing/.github/actions/ci-container - env: - BLOBDIR: /tools/blobs - with: - run: | - export CCACHE_DIR=`pwd`/ccache - cd testing - ./cibuild.sh -c -x testlist/${{matrix.boards}}.dat - ccache -s - ccache -M 400M - ccache -c + steps: + - name: Checkout nuttx repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx + ref: master + path: sources/nuttx + fetch-depth: 1 + - name: Checkout nuttx repo tags + run: git -C sources/nuttx fetch --tags + + - name: Checkout apps repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx-apps + ref: master + path: sources/apps + fetch-depth: 1 + + - name: Checkout testing repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx-testing + path: sources/testing + fetch-depth: 1 + + - name: Docker Login + uses: azure/docker-login@v1 + with: + login-server: docker.pkg.github.com + username: ${GITHUB_ACTOR} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Docker Pull + run: docker pull docker.pkg.github.com/apache/incubator-nuttx-testing/nuttx-ci-linux + - name: Run builds + uses: ./sources/testing/.github/actions/ci-container + env: + BLOBDIR: /tools/blobs + with: + run: | + echo "::add-matcher::sources/nuttx/.github/gcc.json" + export CCACHE_DIR=`pwd`/ccache + mkdir $CCACHE_DIR + cd sources/testing + export ARTIFACTDIR=`pwd`/../../buildartifacts + ./cibuild.sh -A -c testlist/${{matrix.boards}}.dat + ccache -s macOS: runs-on: macos-10.15 - strategy: matrix: boards: [arm-12, other, sim] - steps: - - name: Checkout nuttx repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx - path: nuttx - fetch-depth: 0 - - - name: Fetch nuttx tags - run: | - cd nuttx - git fetch --tags - - - name: Checkout apps repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-apps - path: apps - fetch-depth: 0 - - - name: Checkout testing repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-testing - path: testing - - - name: Restore tools cache - id: cache-tools - uses: actions/cache@v2 - env: - cache-name: ${{ runner.os }}-cache-tools - with: - path: prebuilt - key: ${{ runner.os }}-tools-${{ hashFiles('./testing/cibuild.sh') }} - - - name: Restore ccache - id: ccache - uses: actions/cache@v2 - with: - path: ccache - key: ccache-${{ runner.os }}-${{matrix.boards}}-${{ github.run_id }} - restore-keys: ccache-${{ runner.os }}-${{matrix.boards}}- - - name: Run builds - run: | - export CCACHE_DIR=`pwd`/ccache - cd testing - ./cibuild.sh -i -c -x testlist/${{matrix.boards}}.dat - ccache -s - ccache -M 400M - ccache -c - + - name: Checkout nuttx repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx + ref: master + path: sources/nuttx + fetch-depth: 1 + - name: Checkout nuttx repo tags + run: git -C sources/nuttx fetch --tags + + - name: Checkout apps repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx-apps + ref: master + path: sources/apps + fetch-depth: 1 + + - name: Checkout testing repo + uses: actions/checkout@v2 + with: + repository: apache/incubator-nuttx-testing + path: sources/testing + fetch-depth: 1 + - name: Run Builds + run: | + echo "::add-matcher::sources/nuttx/.github/gcc.json" + export CCACHE_DIR=`pwd`/ccache + mkdir $CCACHE_DIR + cd sources/testing + export ARTIFACTDIR=`pwd`/../../buildartifacts + ./cibuild.sh -i -A -c -x testlist/${{matrix.boards}}.dat + ccache -s diff --git a/.github/workflows/docker_linux.yml b/.github/workflows/docker_linux.yml index 27cdc01..b325ec1 100644 --- a/.github/workflows/docker_linux.yml +++ b/.github/workflows/docker_linux.yml @@ -26,7 +26,6 @@ on: - 'docker/linux/**' env: - # TODO: Change variable to your image's name. IMAGE_NAME: nuttx-ci-linux jobs: diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..ca66104 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,14 @@ +name: Lint + +on: [pull_request] + +jobs: + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Super Lint + uses: github/super-linter@v3 + env: + VALIDATE_YAML: true From 7f4fc8087b843cb6b39fb11b3dba239f2a81de6e Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 8 Jan 2021 11:36:46 +0900 Subject: [PATCH 21/40] nuttx-ci-linux: Install libpython2.7 for xtensa-esp32-elf-gdb root@5b2362eb60c2:/src/nuttx# ldd /tools/xtensa-esp32-elf-gcc/bin/xtensa-esp32-elf-gdb linux-vdso.so.1 (0x00007ffeb59f3000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a7fc31000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a7fc0e000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f2a7fc09000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2a7faba000) libpython2.7.so.1.0 => /lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007f2a7f74e000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a7f55c000) /lib64/ld-linux-x86-64.so.2 (0x00007f2a7fc3f000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2a7f53e000) root@5b2362eb60c2:/src/nuttx# --- docker/linux/Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 981637c..e683c2a 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -106,6 +106,7 @@ RUN mkdir xtensa-esp32-elf-gcc && \ curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xz +# Note: xtensa-esp32-elf-gdb is linked to libpython2.7 RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ git \ bison \ @@ -121,7 +122,8 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q ccache \ libffi-dev \ libssl-dev \ - libusb-1.0 + libusb-1.0 \ + libpython2.7 RUN git clone --depth 1 --shallow-submodules --recursive https://github.com/espressif/esp-idf.git # This is unfortunately going to re-download some of the same toolchains, but will only be used in the context of esp-idf From acf2f44ae7df6ff256ba41eb11410c25d7cc7a4a Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Mon, 11 Jan 2021 22:27:36 -0800 Subject: [PATCH 22/40] Disable AVR targets on macOS due to homebrew issue Homebrew issue with AVR toolchain is here https://github.com/osx-cross/homebrew-avr/issues/205 --- testlist/other.dat | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/testlist/other.dat b/testlist/other.dat index 32ae18c..cfdae68 100644 --- a/testlist/other.dat +++ b/testlist/other.dat @@ -5,6 +5,14 @@ -avr32dev1:nsh -avr32dev1:ostest +# Disable AVR targets on macOS due to homebrew issue +# https://github.com/osx-cross/homebrew-avr/issues/205 +-Darwin,teensy-2\.0:.* +-Darwin,micropendous3:.* +-Darwin,amber:.* +-Darwin,arduino-mega2560:.* +-Darwin,moteino-mega:.* + /renesas/rx65n/rx65n-grrose /renesas/rx65n/rx65n-rsk2mb -Darwin,rx65n-grrose:.* From a325b91eb1d6e306f8d572f9a8c3eb9a839df62e Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Tue, 12 Jan 2021 17:43:13 +0900 Subject: [PATCH 23/40] Dockerfile: APT::Immediate-Configure=0 to workaround failures Workaround the following failure I have with "docker build" on Docker Desktop on macOS. It might be related to https://github.com/docker/for-linux/issues/1131. E: Could not configure 'libc6:i386'. E: Could not perform immediate configuration on 'libgcc-s1:i386'. Please see man 5 apt.conf under APT::Immediate-Configure for details. (2) The command '/bin/sh -c apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends avr-libc build-essential ccache curl gcc gcc-avr gcc-multilib gettext git lib32z1-dev libc6-dev-i386 libasound2-dev libasound2-dev:i386 libcurl4-openssl-dev libpulse-dev libpulse-dev:i386 libpython2.7 libx11-dev libx11-dev:i386 libxext-dev libxext-dev:i386 linux-libc-dev:i386 linux-headers-generic python3 python3-pip python-is-python3 u-boot-tools unzip wget xxd && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100 --- docker/linux/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index e683c2a..b378b2a 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -216,6 +216,7 @@ LABEL maintainer="dev@nuttx.apache.org" RUN dpkg --add-architecture i386 # This is used for the final images so make sure to not store apt cache RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ + -o APT::Immediate-Configure=0 \ avr-libc \ build-essential \ ccache \ From 223d03220af52ec6e2f0054cd784fd5e28f21723 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Tue, 12 Jan 2021 12:16:37 +0900 Subject: [PATCH 24/40] Revert "nuttx-ci-linux: Install libpython2.7 for xtensa-esp32-elf-gdb" This reverts commit 7f4fc8087b843cb6b39fb11b3dba239f2a81de6e. --- docker/linux/Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index b378b2a..622b860 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -106,7 +106,6 @@ RUN mkdir xtensa-esp32-elf-gcc && \ curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xz -# Note: xtensa-esp32-elf-gdb is linked to libpython2.7 RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ git \ bison \ @@ -122,8 +121,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q ccache \ libffi-dev \ libssl-dev \ - libusb-1.0 \ - libpython2.7 + libusb-1.0 RUN git clone --depth 1 --shallow-submodules --recursive https://github.com/espressif/esp-idf.git # This is unfortunately going to re-download some of the same toolchains, but will only be used in the context of esp-idf From 6c6e2ccdde21e7af267a816df8423252f4c0829c Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Tue, 12 Jan 2021 12:18:14 +0900 Subject: [PATCH 25/40] nuttx-ci-linux: Install libpython2.7 for xtensa-esp32-elf-gdb (again) This time to the correct apt-get line. root@5b2362eb60c2:/src/nuttx# ldd /tools/xtensa-esp32-elf-gcc/bin/xtensa-esp32-elf-gdb linux-vdso.so.1 (0x00007ffeb59f3000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f2a7fc31000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2a7fc0e000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f2a7fc09000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f2a7faba000) libpython2.7.so.1.0 => /lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007f2a7f74e000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2a7f55c000) /lib64/ld-linux-x86-64.so.2 (0x00007f2a7fc3f000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f2a7f53e000) root@5b2362eb60c2:/src/nuttx# --- docker/linux/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 622b860..90c844e 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -213,6 +213,7 @@ LABEL maintainer="dev@nuttx.apache.org" RUN dpkg --add-architecture i386 # This is used for the final images so make sure to not store apt cache +# Note: xtensa-esp32-elf-gdb is linked to libpython2.7 RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ -o APT::Immediate-Configure=0 \ avr-libc \ @@ -229,6 +230,7 @@ RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -q libasound2-dev libasound2-dev:i386 \ libcurl4-openssl-dev \ libpulse-dev libpulse-dev:i386 \ + libpython2.7 \ libx11-dev libx11-dev:i386 \ libxext-dev libxext-dev:i386 \ linux-libc-dev:i386 \ From 9d55cb5229f63410c2d3c31891cc98b4608b12c3 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Thu, 14 Jan 2021 10:22:36 +0900 Subject: [PATCH 26/40] Revert "Disable AVR targets on macOS due to homebrew issue" This reverts commit acf2f44ae7df6ff256ba41eb11410c25d7cc7a4a. --- testlist/other.dat | 8 -------- 1 file changed, 8 deletions(-) diff --git a/testlist/other.dat b/testlist/other.dat index cfdae68..32ae18c 100644 --- a/testlist/other.dat +++ b/testlist/other.dat @@ -5,14 +5,6 @@ -avr32dev1:nsh -avr32dev1:ostest -# Disable AVR targets on macOS due to homebrew issue -# https://github.com/osx-cross/homebrew-avr/issues/205 --Darwin,teensy-2\.0:.* --Darwin,micropendous3:.* --Darwin,amber:.* --Darwin,arduino-mega2560:.* --Darwin,moteino-mega:.* - /renesas/rx65n/rx65n-grrose /renesas/rx65n/rx65n-rsk2mb -Darwin,rx65n-grrose:.* From 5658a629a5c8d42b8c6dfda902a067876cc55626 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 15 Jan 2021 13:41:03 +0900 Subject: [PATCH 27/40] Run "brew update" before installing avr-gcc As suggested by: https://github.com/osx-cross/homebrew-avr/issues/205#issuecomment-760637996 --- cibuild.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cibuild.sh b/cibuild.sh index 5b627b1..9b83f2b 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -40,6 +40,8 @@ case $os in install="python-tools u-boot-tools elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache binutils" mkdir -p ${prebuilt}/homebrew export HOMEBREW_CACHE=${prebuilt}/homebrew + # https://github.com/osx-cross/homebrew-avr/issues/205#issuecomment-760637996 + brew update ;; Linux) install="python-tools gen-romfs gperf kconfig-frontends arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain rx-gcc-toolchain c-cache" From a3bd06a3477e32203412b3812c6841049f675d4a Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Fri, 15 Jan 2021 16:32:29 +0900 Subject: [PATCH 28/40] Remove 2to3 link as suggested https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 --- cibuild.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cibuild.sh b/cibuild.sh index 9b83f2b..a7f6da1 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -40,6 +40,8 @@ case $os in install="python-tools u-boot-tools elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache binutils" mkdir -p ${prebuilt}/homebrew export HOMEBREW_CACHE=${prebuilt}/homebrew + # https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 + rm -rf /usr/local/bin/2to3 # https://github.com/osx-cross/homebrew-avr/issues/205#issuecomment-760637996 brew update ;; From c1094b33bc8a3b669a868ca75639b71a37a7974d Mon Sep 17 00:00:00 2001 From: YAMAMOTO Takashi Date: Sat, 16 Jan 2021 13:58:01 +0900 Subject: [PATCH 29/40] cibuild.sh: add --quiet option to brew update to reduce log output --- cibuild.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cibuild.sh b/cibuild.sh index a7f6da1..de937f2 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -43,7 +43,7 @@ case $os in # https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 rm -rf /usr/local/bin/2to3 # https://github.com/osx-cross/homebrew-avr/issues/205#issuecomment-760637996 - brew update + brew update --quiet ;; Linux) install="python-tools gen-romfs gperf kconfig-frontends arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain rx-gcc-toolchain c-cache" From 76f22015b8b0ccaf005233b1e6044a62c20d1b80 Mon Sep 17 00:00:00 2001 From: Abdelatif Guettouche Date: Sat, 20 Feb 2021 21:03:26 +0100 Subject: [PATCH 30/40] docker/linux/Dockerfile: Don't use IDF to get the ESP32 binaries. Don't clone and build an IDF example to get the ESP32 binaires. Rather, use the esp-nuttx-bootloader repo. Signed-off-by: Abdelatif Guettouche --- docker/linux/Dockerfile | 52 +++++++---------------------------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile index 90c844e..c5cd371 100644 --- a/docker/linux/Dockerfile +++ b/docker/linux/Dockerfile @@ -102,49 +102,16 @@ RUN mkdir riscv64-unknown-elf-gcc && \ ############################################################################### FROM nuttx-toolchain-base AS nuttx-toolchain-esp32 # Download the latest ESP32 GCC toolchain prebuilt by Espressif -RUN mkdir xtensa-esp32-elf-gcc && \ +RUN mkdir -p xtensa-esp32-elf-gcc && \ curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xz -RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ - git \ - bison \ - gperf \ - python3 \ - python-is-python3 \ - python3-pip \ - python3-setuptools \ - python3-pexpect \ - make \ - cmake \ - ninja-build \ - ccache \ - libffi-dev \ - libssl-dev \ - libusb-1.0 - -RUN git clone --depth 1 --shallow-submodules --recursive https://github.com/espressif/esp-idf.git -# This is unfortunately going to re-download some of the same toolchains, but will only be used in the context of esp-idf -RUN sed -i "s/^gdbgui.*/gdbgui==0.13.2.0/" esp-idf/requirements.txt -RUN bash -c "\ - cd esp-idf && \ - ./install.sh" - -# Provide an option for disabling DOUT mode, so that the default one, -# DIO, can be used (for instance, for flashing a DevKitC module) -ARG FLASH_DOUT_ENABLED=y -# We run this is generate the default bootloader and partition table binaries -RUN bash -c "\ - cd esp-idf && \ - source ./export.sh && \ - cd examples/get-started/hello_world && \ - make defconfig && \ - if [[ '${FLASH_DOUT_ENABLED}' == y ]]; then echo 'CONFIG_ESPTOOLPY_FLASHMODE_DOUT=y' >> sdkconfig; fi && \ - idf.py bootloader partition_table" - -RUN mkdir /tools/blobs -RUN cp /tools/esp-idf/examples/get-started/hello_world/build/bootloader/bootloader.bin /tools/blobs/ -RUN cp /tools/esp-idf/examples/get-started/hello_world/build/partition_table/partition-table.bin /tools/blobs/ +RUN echo "ESP Binaries: 2021/02/20" +RUN mkdir -p /tools/blobs && cd /tools/blobs \ + && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/bootloader-esp32.bin" -o bootloader-esp32.bin \ + && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/bootloader-esp32c3.bin" -o bootloader-esp32c3.bin \ + && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/partition-table-esp32.bin" -o partition-table-esp32.bin \ + && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/partition-table-esp32c3.bin" -o partition-table-esp32c3.bin ############################################################################### # Build image for tool required by Renesas builds @@ -280,10 +247,9 @@ ENV PATH="/tools/riscv64-unknown-elf-gcc/bin:$PATH" # ESP32 toolchain COPY --from=nuttx-toolchain-esp32 /tools/xtensa-esp32-elf-gcc/ xtensa-esp32-elf-gcc/ -COPY --from=nuttx-toolchain-esp32 /tools/esp-idf/ esp-idf/ ENV PATH="/tools/xtensa-esp32-elf-gcc/bin:$PATH" -RUN mkdir -p /tools/blobs/esp32core -COPY --from=nuttx-toolchain-esp32 /tools/blobs/* /tools/blobs/esp32core/ +RUN mkdir -p /tools/blobs/esp-bins +COPY --from=nuttx-toolchain-esp32 /tools/blobs/* /tools/blobs/esp-bins/ RUN pip3 install esptool # Renesas toolchain From 0206b8b9cc6e100aa44f00025b448d559a1eb757 Mon Sep 17 00:00:00 2001 From: Masayuki Ishikawa Date: Sun, 21 Feb 2021 22:31:10 +0900 Subject: [PATCH 31/40] testlist: Add /arm/rp2040 to arm-04.dat Summary: - This commit adds /arm/rp2040 to arm-04.dat Impact: - None Testing: - Tested with $ ./cibuild.sh -A -c testlist/arm-04.dat --- testlist/arm-04.dat | 1 + 1 file changed, 1 insertion(+) diff --git a/testlist/arm-04.dat b/testlist/arm-04.dat index 093ac27..532f290 100644 --- a/testlist/arm-04.dat +++ b/testlist/arm-04.dat @@ -17,3 +17,4 @@ /arm/nuc1xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/rp2040,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL From 400abdc5e3f3aa6858c6d99b69ae03e0102f3fbc Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Mon, 15 Mar 2021 18:17:04 +0800 Subject: [PATCH 32/40] testlist: Remove gapuino and nr5m100-nexys4 from black list since both platform support are removed from mainline Signed-off-by: Xiang Xiao --- testlist/all.dat | 2 -- testlist/other.dat | 2 -- 2 files changed, 4 deletions(-) diff --git a/testlist/all.dat b/testlist/all.dat index d9ccf21..b630b10 100644 --- a/testlist/all.dat +++ b/testlist/all.dat @@ -19,8 +19,6 @@ /mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL /risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL --gapuino:nsh --nr5m100-nexys4:nsh /sim diff --git a/testlist/other.dat b/testlist/other.dat index 32ae18c..0495dc4 100644 --- a/testlist/other.dat +++ b/testlist/other.dat @@ -22,8 +22,6 @@ -Darwin,ubw32:.* /risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL --gapuino:nsh --nr5m100-nexys4:nsh # x86_64-elf-gcc from homebrew doesn't seem to # provide __udivdi3 etc for -m32 From 272c2a6213987c7b9ae8942d3b12db2d8c95374c Mon Sep 17 00:00:00 2001 From: Matias N Date: Fri, 2 Apr 2021 15:15:10 -0300 Subject: [PATCH 33/40] add canceling workflow --- .github/workflows/cancel.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/cancel.yml diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml new file mode 100644 index 0000000..9f4e41b --- /dev/null +++ b/.github/workflows/cancel.yml @@ -0,0 +1,17 @@ +name: Cancelling Duplicates +on: + workflow_run: + workflows: ["Build", "Docker-Linux", "Lint"] + types: ['requested'] + +jobs: + cancel-duplicate-workflow-runs: + name: "Cancel duplicate workflow runs" + runs-on: ubuntu-latest + steps: + - uses: apache/airflow-cancel-workflow-runs@master + name: "Cancel duplicate workflow runs" + with: + cancelMode: allDuplicates + token: ${{ secrets.GITHUB_TOKEN }} + sourceRunId: ${{ github.event.workflow_run.id }} From 20490f3da145d1092af1673a5982b50b79b3c96b Mon Sep 17 00:00:00 2001 From: Matias N Date: Wed, 31 Mar 2021 15:38:09 -0300 Subject: [PATCH 34/40] move avr, risc-v, xtensa and x86 builds out of other.dat --- .github/workflows/build.yml | 4 ++-- testlist/macos.dat | 38 +++++++++++++++++++++++++++++++++++++ testlist/other.dat | 13 ++++--------- testlist/risc-v.dat | 1 + testlist/xtensa.dat | 1 + 5 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 testlist/macos.dat create mode 100644 testlist/risc-v.dat create mode 100644 testlist/xtensa.dat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c3b73d..770d399 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, sim] + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim, xtensa] steps: - name: Checkout nuttx repo @@ -79,7 +79,7 @@ jobs: runs-on: macos-10.15 strategy: matrix: - boards: [arm-12, other, sim] + boards: [macos, sim] steps: - name: Checkout nuttx repo uses: actions/checkout@v2 diff --git a/testlist/macos.dat b/testlist/macos.dat new file mode 100644 index 0000000..4b5f6e6 --- /dev/null +++ b/testlist/macos.dat @@ -0,0 +1,38 @@ +# Chose a minimalistic subset of board/configs due to macOS builds +# being extremely slow on GitHub + +# AVR +# +# We do not have a toolchain for avr32 outside of Microchip login wall. +# The work was never upstreamed to GCC. + +/avr/atmega/arduino-mega2560/configs/nsh + +# MIPS +# +# PINGUINOL toolchain doesn't provide macOS binaries +# with the same name + +#/mips/pic32mx/pic32mx-starterkit/configs/nsh,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL + +# RISC-V + +/risc-v/bl602/bl602evb/configs/wifi,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL + +/risc-v/esp32c3/esp32c3-devkit/configs/wapi,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL + +# ARM + +/arm/stm32/stm32f4discovery/configs/nsh,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +# XTENSA + +/xtensa/esp32/esp32-devkitc/configs/wapi + +# x86_64-elf-gcc from homebrew doesn't seem to +# provide __udivdi3 etc for -m32, so we do not build +# x86 + +# x86_64 + +/x86_64/intel64/qemu-intel64/configs/nsh diff --git a/testlist/other.dat b/testlist/other.dat index 0495dc4..81cbc98 100644 --- a/testlist/other.dat +++ b/testlist/other.dat @@ -1,9 +1,8 @@ -# We do not have a toolchain for avr32 outside of Microchip login wall. -# The work was never upstreamed to GCC. - /avr -avr32dev1:nsh -avr32dev1:ostest +# x86_64-elf-gcc from homebrew doesn't seem to +# provide __udivdi3 etc for -m32 /renesas/rx65n/rx65n-grrose /renesas/rx65n/rx65n-rsk2mb @@ -20,14 +19,10 @@ -Darwin,pic32mz-starterkit:.* -Darwin,sure-pic32mx:.* -Darwin,ubw32:.* +# We do not have a toolchain for avr32 outside of Microchip login wall. +# The work was never upstreamed to GCC. -/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL - -# x86_64-elf-gcc from homebrew doesn't seem to -# provide __udivdi3 etc for -m32 /x86 -Darwin,qemu-i486:.* /x86_64 - -/xtensa diff --git a/testlist/risc-v.dat b/testlist/risc-v.dat new file mode 100644 index 0000000..10556d7 --- /dev/null +++ b/testlist/risc-v.dat @@ -0,0 +1 @@ +/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL diff --git a/testlist/xtensa.dat b/testlist/xtensa.dat new file mode 100644 index 0000000..0fec540 --- /dev/null +++ b/testlist/xtensa.dat @@ -0,0 +1 @@ +/xtensa From 3018e84c1b7937d85facba05484347b76b689c8b Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 4 Apr 2021 02:48:02 +0800 Subject: [PATCH 35/40] other.dat: Remove the Darwin black list since macOS build never reference other.dat Signed-off-by: Xiang Xiao --- testlist/other.dat | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/testlist/other.dat b/testlist/other.dat index 81cbc98..fea100e 100644 --- a/testlist/other.dat +++ b/testlist/other.dat @@ -1,28 +1,18 @@ +# We do not have a toolchain for avr32 outside of Microchip login wall. +# The work was never upstreamed to GCC. /avr -avr32dev1:nsh -avr32dev1:ostest -# x86_64-elf-gcc from homebrew doesn't seem to -# provide __udivdi3 etc for -m32 - -/renesas/rx65n/rx65n-grrose -/renesas/rx65n/rx65n-rsk2mb --Darwin,rx65n-grrose:.* --Darwin,rx65n-rsk2mb:.* # PINGUINOL toolchain doesn't provide macOS binaries # with the same name /mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL --Darwin,flipnclick-pic32mz:.* --Darwin,mirtoo:.* --Darwin,pic32mx7mmb:.* --Darwin,pic32mx-starterkit:.* --Darwin,pic32mz-starterkit:.* --Darwin,sure-pic32mx:.* --Darwin,ubw32:.* -# We do not have a toolchain for avr32 outside of Microchip login wall. -# The work was never upstreamed to GCC. + +/renesas/rx65n/rx65n-grrose +/renesas/rx65n/rx65n-rsk2mb /x86 --Darwin,qemu-i486:.* +# x86_64-elf-gcc from homebrew doesn't seem to +# provide __udivdi3 etc for -m32 /x86_64 From dc78a4cf97928e94166ad4aa3c587c293b357965 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 4 Apr 2021 04:21:57 +0800 Subject: [PATCH 36/40] Split sim.dat to sim00.dat and sim01.dat to speed up the macOS build Signed-off-by: Xiang Xiao --- .github/workflows/build.yml | 4 ++-- testlist/{sim.dat => sim00.dat} | 26 ++++++++++---------------- testlist/sim01.dat | 9 +++++++++ 3 files changed, 21 insertions(+), 18 deletions(-) rename testlist/{sim.dat => sim00.dat} (60%) create mode 100644 testlist/sim01.dat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 770d399..07d188a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim, xtensa] + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim00, sim01, xtensa] steps: - name: Checkout nuttx repo @@ -79,7 +79,7 @@ jobs: runs-on: macos-10.15 strategy: matrix: - boards: [macos, sim] + boards: [macos, sim00, sim01] steps: - name: Checkout nuttx repo uses: actions/checkout@v2 diff --git a/testlist/sim.dat b/testlist/sim00.dat similarity index 60% rename from testlist/sim.dat rename to testlist/sim00.dat index 12e9ad4..5c6588d 100644 --- a/testlist/sim.dat +++ b/testlist/sim00.dat @@ -1,27 +1,21 @@ -/sim +/sim/*/*/*/[a-n]* + +# macOS doesn't have ALSA +-Darwin,sim:alsa + -Darwin,sim:cxxtest -Darwin,sim:libcxxtest -# CONFIG_SIM_M32=y -# The recent versions of macOS is 64-bit only +# Do not build Linux configs +-Darwin,sim:linuxi2c + +# macOS doesn't support 32bit(CONFIG_SIM_M32=y) anymore -Darwin,sim:loadable -Darwin,sim:module32 --Darwin,sim:rpproxy --Darwin,sim:rpserver --Darwin,sim:sotest32 -# X11 # macOS doesn't have X11 +-Darwin,sim:lvgl -Darwin,sim:nsh2 -Darwin,sim:nx11 -Darwin,sim:nxlines -Darwin,sim:nxwm --Darwin,sim:touchscreen --Darwin,sim:lvgl - -# macOS doesn't have ALSA --Darwin,sim:alsa - -# Do not build Linux configs --Darwin,sim:linux.* - diff --git a/testlist/sim01.dat b/testlist/sim01.dat new file mode 100644 index 0000000..677370d --- /dev/null +++ b/testlist/sim01.dat @@ -0,0 +1,9 @@ +/sim/*/*/*/[o-z]* + +# macOS doesn't support 32bit anymore(CONFIG_SIM_M32=y) +-Darwin,sim:rpproxy +-Darwin,sim:rpserver +-Darwin,sim:sotest32 + +# macOS doesn't have X11 +-Darwin,sim:touchscreen From 1d8334e6acde1f5b97c7cc9c3a593e171b7034dc Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 4 Apr 2021 13:38:51 +0800 Subject: [PATCH 37/40] Rename sim00.dat/sim01.dat to sim01.data/sim02.dat follow up the convention from arm01.dat... arm13.dat Signed-off-by: Xiang Xiao --- .github/workflows/build.yml | 4 ++-- testlist/sim00.dat | 21 --------------------- testlist/sim01.dat | 24 ++++++++++++++++++------ testlist/sim02.dat | 9 +++++++++ 4 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 testlist/sim00.dat create mode 100644 testlist/sim02.dat diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 07d188a..1829535 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,7 +24,7 @@ jobs: strategy: matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim00, sim01, xtensa] + boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim01, sim02, xtensa] steps: - name: Checkout nuttx repo @@ -79,7 +79,7 @@ jobs: runs-on: macos-10.15 strategy: matrix: - boards: [macos, sim00, sim01] + boards: [macos, sim01, sim02] steps: - name: Checkout nuttx repo uses: actions/checkout@v2 diff --git a/testlist/sim00.dat b/testlist/sim00.dat deleted file mode 100644 index 5c6588d..0000000 --- a/testlist/sim00.dat +++ /dev/null @@ -1,21 +0,0 @@ -/sim/*/*/*/[a-n]* - -# macOS doesn't have ALSA --Darwin,sim:alsa - --Darwin,sim:cxxtest --Darwin,sim:libcxxtest - -# Do not build Linux configs --Darwin,sim:linuxi2c - -# macOS doesn't support 32bit(CONFIG_SIM_M32=y) anymore --Darwin,sim:loadable --Darwin,sim:module32 - -# macOS doesn't have X11 --Darwin,sim:lvgl --Darwin,sim:nsh2 --Darwin,sim:nx11 --Darwin,sim:nxlines --Darwin,sim:nxwm diff --git a/testlist/sim01.dat b/testlist/sim01.dat index 677370d..5c6588d 100644 --- a/testlist/sim01.dat +++ b/testlist/sim01.dat @@ -1,9 +1,21 @@ -/sim/*/*/*/[o-z]* +/sim/*/*/*/[a-n]* -# macOS doesn't support 32bit anymore(CONFIG_SIM_M32=y) --Darwin,sim:rpproxy --Darwin,sim:rpserver --Darwin,sim:sotest32 +# macOS doesn't have ALSA +-Darwin,sim:alsa + +-Darwin,sim:cxxtest +-Darwin,sim:libcxxtest + +# Do not build Linux configs +-Darwin,sim:linuxi2c + +# macOS doesn't support 32bit(CONFIG_SIM_M32=y) anymore +-Darwin,sim:loadable +-Darwin,sim:module32 # macOS doesn't have X11 --Darwin,sim:touchscreen +-Darwin,sim:lvgl +-Darwin,sim:nsh2 +-Darwin,sim:nx11 +-Darwin,sim:nxlines +-Darwin,sim:nxwm diff --git a/testlist/sim02.dat b/testlist/sim02.dat new file mode 100644 index 0000000..677370d --- /dev/null +++ b/testlist/sim02.dat @@ -0,0 +1,9 @@ +/sim/*/*/*/[o-z]* + +# macOS doesn't support 32bit anymore(CONFIG_SIM_M32=y) +-Darwin,sim:rpproxy +-Darwin,sim:rpserver +-Darwin,sim:sotest32 + +# macOS doesn't have X11 +-Darwin,sim:touchscreen From 3a3c90ac49216adfdf8f6fdc06a98907afe2ab64 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Sun, 4 Apr 2021 17:33:05 +0800 Subject: [PATCH 38/40] Simplify arm test list by using glob pattern Signed-off-by: Xiang Xiao --- testlist/arm-01.dat | 14 +------------- testlist/arm-02.dat | 8 +------- testlist/arm-04.dat | 13 ++----------- testlist/arm-05.dat | 5 +++-- testlist/arm-06.dat | 14 ++------------ testlist/arm-07.dat | 26 ++++---------------------- testlist/arm-08.dat | 21 +++++---------------- testlist/arm-09.dat | 11 +++++++++-- testlist/arm-10.dat | 6 ++++++ testlist/arm-11.dat | 2 -- testlist/arm-12.dat | 6 ++---- testlist/arm-13.dat | 10 ++++------ 12 files changed, 39 insertions(+), 97 deletions(-) diff --git a/testlist/arm-01.dat b/testlist/arm-01.dat index 4101ca3..b22a084 100644 --- a/testlist/arm-01.dat +++ b/testlist/arm-01.dat @@ -1,13 +1 @@ -/arm/a1x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/am335x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/c5471,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/cxd56xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/dm320,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/efm32,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/imx6,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/[a-h]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-02.dat b/testlist/arm-02.dat index f03806e..1562c2d 100644 --- a/testlist/arm-02.dat +++ b/testlist/arm-02.dat @@ -1,9 +1,3 @@ -/arm/imxrt,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/[i-k]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -imxrt1050-evk:libcxxtest -imxrt1060-evk:libcxxtest - -/arm/kinetis,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/kl,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lc823450,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-04.dat b/testlist/arm-04.dat index 532f290..de8f686 100644 --- a/testlist/arm-04.dat +++ b/testlist/arm-04.dat @@ -1,3 +1,5 @@ +/arm/lc823450,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + /arm/lpc214x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/lpc2378,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL @@ -7,14 +9,3 @@ /arm/lpc43xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/lpc54xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/max326xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/moxart,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --moxa:nsh - -/arm/nrf52,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/nuc1xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/rp2040,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-05.dat b/testlist/arm-05.dat index 588d3ae..e79de83 100644 --- a/testlist/arm-05.dat +++ b/testlist/arm-05.dat @@ -1,5 +1,6 @@ +/arm/[m-r]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +-moxa:nsh + /arm/s32k1xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/sam34,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/sama5,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-06.dat b/testlist/arm-06.dat index 4e836d1..c733d4c 100644 --- a/testlist/arm-06.dat +++ b/testlist/arm-06.dat @@ -1,17 +1,7 @@ +/arm/sama5,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + /arm/samd2l2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/samd5e5,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/samv7,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/axoloti,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/b-g474e-dpow1,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/clicker2-stm32,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/cloudctrl,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/fire-stm32v2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/hymini-stm32v,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-07.dat b/testlist/arm-07.dat index 5816e7b..c531b45 100644 --- a/testlist/arm-07.dat +++ b/testlist/arm-07.dat @@ -1,25 +1,7 @@ -/arm/stm32/maple,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/[a-m]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/mikroe-stm32f4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-f1*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/nucleo-f103rb,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-f2*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/nucleo-f207zg,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f302r8,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f303re,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f303ze,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f334r8,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f410rb,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f412zg,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f446re,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f4x1re,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-l152re,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-f30*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-08.dat b/testlist/arm-08.dat index 773b1a2..ac945ac 100644 --- a/testlist/arm-08.dat +++ b/testlist/arm-08.dat @@ -1,20 +1,9 @@ -/arm/stm32/olimexino-stm32,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-f33*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/olimex-stm32-e407,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-f4*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/olimex-stm32-h405,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-g*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/olimex-stm32-h407,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/nucleo-l*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/olimex-stm32-p107,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/olimex-stm32-p207,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/olimex-stm32-p407,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/omnibusf4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/photon,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/shenzhou,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --shenzhou:thttpd +/arm/stm32/olimex-*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-09.dat b/testlist/arm-09.dat index 95667c2..2771070 100644 --- a/testlist/arm-09.dat +++ b/testlist/arm-09.dat @@ -1,7 +1,14 @@ +/arm/stm32/olimexino-stm32,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +/arm/stm32/omnibusf4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +/arm/stm32/photon,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +/arm/stm32/shenzhou,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +-shenzhou:thttpd + /arm/stm32/stm3210e-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/stm32/stm3220g-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/stm32/stm3240g-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32butterfly2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-10.dat b/testlist/arm-10.dat index 3a41cac..c30d5ba 100644 --- a/testlist/arm-10.dat +++ b/testlist/arm-10.dat @@ -1,9 +1,15 @@ +/arm/stm32/stm32_tiny,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +/arm/stm32/stm32butterfly2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + /arm/stm32/stm32f103-minimum,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/stm32/stm32f334-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/stm32/stm32f3discovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32/stm32f411-minimum,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + /arm/stm32/stm32f411e-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL /arm/stm32/stm32f429i-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-11.dat b/testlist/arm-11.dat index 645fef4..2d8f223 100644 --- a/testlist/arm-11.dat +++ b/testlist/arm-11.dat @@ -7,6 +7,4 @@ /arm/stm32/stm32vldiscovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32/stm32_tiny,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - /arm/stm32/viewtool-stm32f107,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-12.dat b/testlist/arm-12.dat index 6c31f07..5fcca30 100644 --- a/testlist/arm-12.dat +++ b/testlist/arm-12.dat @@ -1,5 +1,3 @@ -/arm/stm32f0l0g0,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32f*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/stm32f7,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32h7,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32h*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-13.dat b/testlist/arm-13.dat index 00242a1..3d48e0a 100644 --- a/testlist/arm-13.dat +++ b/testlist/arm-13.dat @@ -1,12 +1,10 @@ -/arm/stm32l4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/stm32l*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -/arm/tiva,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL +/arm/str71x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL + +/arm/[t-z]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -eagle100:nxflat -eagle100:thttpd -launchxl-cc1310:nsh - -/arm/tms570,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL -launchxl-tms57004:nsh -tms570ls31x-usb-kit:nsh - -/arm/xmc4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL From a105b0ee13fbc4818d87a4a91e9152018892da84 Mon Sep 17 00:00:00 2001 From: Xiang Xiao Date: Mon, 5 Apr 2021 01:44:49 +0800 Subject: [PATCH 39/40] cibuild.sh: Remove the tail space Signed-off-by: Xiang Xiao --- cibuild.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cibuild.sh b/cibuild.sh index de937f2..ea47d87 100755 --- a/cibuild.sh +++ b/cibuild.sh @@ -238,9 +238,9 @@ function rx-gcc-toolchain { if [ ! -f "$prebuilt/renesas-toolchain/rx-elf-gcc/bin/rx-elf-gcc" ]; then case $os in - Linux) - # Download toolchain source code - # RX toolchain is built from source code. Once prebuilt RX toolchain is made available, the below code snippet can be removed. + Linux) + # Download toolchain source code + # RX toolchain is built from source code. Once prebuilt RX toolchain is made available, the below code snippet can be removed. mkdir -p $prebuilt/renesas-tools/rx/source; cd $prebuilt/renesas-tools/rx/source wget --quiet https://gcc-renesas.com/downloads/d.php?f=rx/binutils/4.8.4.201803-gnurx/rx_binutils2.24_2018Q3.tar.gz \ -O rx_binutils2.24_2018Q3.tar.gz @@ -252,15 +252,15 @@ function rx-gcc-toolchain { -O rx_newlib2.2.0_2018Q3.tar.gz tar zxf rx_newlib2.2.0_2018Q3.tar.gz - # Install binutils + # Install binutils cd $prebuilt/renesas-tools/rx/source/binutils; chmod +x ./configure ./mkinstalldirs mkdir -p $prebuilt/renesas-tools/rx/build/binutils; cd $prebuilt/renesas-tools/rx/build/binutils $prebuilt/renesas-tools/rx/source/binutils/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc \ - --disable-werror + --disable-werror make; make install - # Install gcc - cd $prebuilt/renesas-tools/rx/source/gcc + # Install gcc + cd $prebuilt/renesas-tools/rx/source/gcc chmod +x ./contrib/download_prerequisites ./configure ./move-if-change ./libgcc/mkheader.sh ./contrib/download_prerequisites sed -i '1s/^/@documentencoding ISO-8859-1\n/' ./gcc/doc/gcc.texi @@ -271,10 +271,10 @@ function rx-gcc-toolchain { --enable-gold --with-pkgversion=GCC_Build_1.02 --with-newlib --enable-languages=c make; make install - # Install newlib + # Install newlib cd $prebuilt/renesas-tools/rx/source/newlib; chmod +x ./configure mkdir -p $prebuilt/renesas-tools/rx/build/newlib; cd $prebuilt/renesas-tools/rx/build/newlib - $prebuilt/renesas-tools/rx/source/newlib/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc + $prebuilt/renesas-tools/rx/source/newlib/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc make; make install rm -rf $prebuilt/renesas-tools/ ;; From 9933f84292210c635917ada4a9291065b93289be Mon Sep 17 00:00:00 2001 From: Brennan Ashton Date: Sun, 6 Jun 2021 11:44:37 -0700 Subject: [PATCH 40/40] Mark the repository as moved --- .github/PULL_REQUEST_TEMPLATE.md | 6 - .github/actions/ci-container/action.yaml | 25 -- .github/workflows/build.yml | 116 ------ .github/workflows/cancel.yml | 17 - .github/workflows/docker_linux.yml | 57 --- .github/workflows/lint.yml | 14 - README.md | 2 + cibuild.sh | 442 ----------------------- docker/linux/Dockerfile | 279 -------------- testlist/all.dat | 35 -- testlist/arm-01.dat | 1 - testlist/arm-02.dat | 3 - testlist/arm-03.dat | 5 - testlist/arm-04.dat | 11 - testlist/arm-05.dat | 6 - testlist/arm-06.dat | 7 - testlist/arm-07.dat | 7 - testlist/arm-08.dat | 9 - testlist/arm-09.dat | 14 - testlist/arm-10.dat | 15 - testlist/arm-11.dat | 10 - testlist/arm-12.dat | 3 - testlist/arm-13.dat | 10 - testlist/macos.dat | 38 -- testlist/other.dat | 18 - testlist/risc-v.dat | 1 - testlist/sim01.dat | 21 -- testlist/sim02.dat | 9 - testlist/xtensa.dat | 1 - 29 files changed, 2 insertions(+), 1180 deletions(-) delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md delete mode 100644 .github/actions/ci-container/action.yaml delete mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/cancel.yml delete mode 100644 .github/workflows/docker_linux.yml delete mode 100644 .github/workflows/lint.yml delete mode 100755 cibuild.sh delete mode 100644 docker/linux/Dockerfile delete mode 100644 testlist/all.dat delete mode 100644 testlist/arm-01.dat delete mode 100644 testlist/arm-02.dat delete mode 100644 testlist/arm-03.dat delete mode 100644 testlist/arm-04.dat delete mode 100644 testlist/arm-05.dat delete mode 100644 testlist/arm-06.dat delete mode 100644 testlist/arm-07.dat delete mode 100644 testlist/arm-08.dat delete mode 100644 testlist/arm-09.dat delete mode 100644 testlist/arm-10.dat delete mode 100644 testlist/arm-11.dat delete mode 100644 testlist/arm-12.dat delete mode 100644 testlist/arm-13.dat delete mode 100644 testlist/macos.dat delete mode 100644 testlist/other.dat delete mode 100644 testlist/risc-v.dat delete mode 100644 testlist/sim01.dat delete mode 100644 testlist/sim02.dat delete mode 100644 testlist/xtensa.dat diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index f0c7312..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,6 +0,0 @@ -## Summary - -## Impact - -## Testing - diff --git a/.github/actions/ci-container/action.yaml b/.github/actions/ci-container/action.yaml deleted file mode 100644 index bf7e9cc..0000000 --- a/.github/actions/ci-container/action.yaml +++ /dev/null @@ -1,25 +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: ci-container -inputs: - run: # id of input - description: 'Commands to run' - required: true -runs: - using: 'docker' - image: 'docker.pkg.github.com/apache/incubator-nuttx-testing/nuttx-ci-linux' - args: - - "/bin/bash" - - "-ce" - - ${{ inputs.run }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 1829535..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,116 +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: Build - -on: - pull_request: - -jobs: - Linux: - runs-on: ubuntu-latest - env: - DOCKER_BUILDKIT: 1 - IMAGE_TAG: docker.pkg.github.com/${{ github.repository }}/nuttx-ci-linux - - strategy: - matrix: - boards: [arm-01, arm-02, arm-03, arm-04, arm-05, arm-06, arm-07, arm-08, arm-09, arm-10, arm-11, arm-12, arm-13, other, risc-v, sim01, sim02, xtensa] - - steps: - - name: Checkout nuttx repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx - ref: master - path: sources/nuttx - fetch-depth: 1 - - name: Checkout nuttx repo tags - run: git -C sources/nuttx fetch --tags - - - name: Checkout apps repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-apps - ref: master - path: sources/apps - fetch-depth: 1 - - - name: Checkout testing repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-testing - path: sources/testing - fetch-depth: 1 - - - name: Docker Login - uses: azure/docker-login@v1 - with: - login-server: docker.pkg.github.com - username: ${GITHUB_ACTOR} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Docker Pull - run: docker pull docker.pkg.github.com/apache/incubator-nuttx-testing/nuttx-ci-linux - - name: Run builds - uses: ./sources/testing/.github/actions/ci-container - env: - BLOBDIR: /tools/blobs - with: - run: | - echo "::add-matcher::sources/nuttx/.github/gcc.json" - export CCACHE_DIR=`pwd`/ccache - mkdir $CCACHE_DIR - cd sources/testing - export ARTIFACTDIR=`pwd`/../../buildartifacts - ./cibuild.sh -A -c testlist/${{matrix.boards}}.dat - ccache -s - - macOS: - runs-on: macos-10.15 - strategy: - matrix: - boards: [macos, sim01, sim02] - steps: - - name: Checkout nuttx repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx - ref: master - path: sources/nuttx - fetch-depth: 1 - - name: Checkout nuttx repo tags - run: git -C sources/nuttx fetch --tags - - - name: Checkout apps repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-apps - ref: master - path: sources/apps - fetch-depth: 1 - - - name: Checkout testing repo - uses: actions/checkout@v2 - with: - repository: apache/incubator-nuttx-testing - path: sources/testing - fetch-depth: 1 - - name: Run Builds - run: | - echo "::add-matcher::sources/nuttx/.github/gcc.json" - export CCACHE_DIR=`pwd`/ccache - mkdir $CCACHE_DIR - cd sources/testing - export ARTIFACTDIR=`pwd`/../../buildartifacts - ./cibuild.sh -i -A -c -x testlist/${{matrix.boards}}.dat - ccache -s diff --git a/.github/workflows/cancel.yml b/.github/workflows/cancel.yml deleted file mode 100644 index 9f4e41b..0000000 --- a/.github/workflows/cancel.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: Cancelling Duplicates -on: - workflow_run: - workflows: ["Build", "Docker-Linux", "Lint"] - types: ['requested'] - -jobs: - cancel-duplicate-workflow-runs: - name: "Cancel duplicate workflow runs" - runs-on: ubuntu-latest - steps: - - uses: apache/airflow-cancel-workflow-runs@master - name: "Cancel duplicate workflow runs" - with: - cancelMode: allDuplicates - token: ${{ secrets.GITHUB_TOKEN }} - sourceRunId: ${{ github.event.workflow_run.id }} diff --git a/.github/workflows/docker_linux.yml b/.github/workflows/docker_linux.yml deleted file mode 100644 index b325ec1..0000000 --- a/.github/workflows/docker_linux.yml +++ /dev/null @@ -1,57 +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: Docker-Linux - -on: - push: - # Publish `master` as Docker `latest` image. - branches: - - master - paths: - - 'docker/linux/**' - - # Run builds for any PRs. - pull_request: - paths: - - 'docker/linux/**' - -env: - IMAGE_NAME: nuttx-ci-linux - -jobs: - # Push image to GitHub Packages. - push: - runs-on: ubuntu-latest - env: - DOCKER_BUILDKIT: 1 - IMAGE_TAG: docker.pkg.github.com/${{ github.repository }}/nuttx-ci-linux - steps: - - uses: actions/checkout@v2 - - - name: Log into registry - run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin - - - name: Build Linux image - run: | - echo "Building Linux Image using cache from $IMAGE_TAG" - - docker build \ - --build-arg BUILDKIT_INLINE_CACHE=1 \ - --cache-from $IMAGE_TAG \ - --tag $IMAGE_TAG \ - -f ./docker/linux/Dockerfile ./docker/ - - - name: Push Linux image - if: (github.event_name == 'push') && (github.ref == 'refs/heads/master') - run: | - docker push $IMAGE_TAG diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index ca66104..0000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: Lint - -on: [pull_request] - -jobs: - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Super Lint - uses: github/super-linter@v3 - env: - VALIDATE_YAML: true diff --git a/README.md b/README.md index c3f13f2..53324ef 100644 --- a/README.md +++ b/README.md @@ -1 +1,3 @@ # incubator-nuttx-testing + +*The contents of this repository have been moved to the CI section of the main Apache NuttX OS [repo](https://github.com/apache/incubator-nuttx/tree/master/tools/ci). Please file any issues and PRs there.* diff --git a/cibuild.sh b/cibuild.sh deleted file mode 100755 index ea47d87..0000000 --- a/cibuild.sh +++ /dev/null @@ -1,442 +0,0 @@ -#!/usr/bin/env bash - -# 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. - -# Prerequisites for macOS -# - Xcode (cc, etc) -# - homebrew -# - autoconf -# - wget - -set -e -set -o xtrace - -WD=$(cd $(dirname $0) && pwd) -WORKSPACE=$(cd $WD/.. && pwd -P) -nuttx=$WORKSPACE/nuttx -apps=$WORKSPACE/apps -tools=$WORKSPACE/tools -prebuilt=$WORKSPACE/prebuilt -os=$(uname -s) -EXTRA_PATH= - -case $os in - Darwin) - install="python-tools u-boot-tools elf-toolchain gen-romfs kconfig-frontends arm-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain avr-gcc-toolchain c-cache binutils" - mkdir -p ${prebuilt}/homebrew - export HOMEBREW_CACHE=${prebuilt}/homebrew - # https://github.com/actions/virtual-environments/issues/2322#issuecomment-749211076 - rm -rf /usr/local/bin/2to3 - # https://github.com/osx-cross/homebrew-avr/issues/205#issuecomment-760637996 - brew update --quiet - ;; - Linux) - install="python-tools gen-romfs gperf kconfig-frontends arm-gcc-toolchain mips-gcc-toolchain riscv-gcc-toolchain xtensa-esp32-gcc-toolchain rx-gcc-toolchain c-cache" - ;; -esac - -function add_path { - PATH=$1:$PATH - EXTRA_PATH=$1:$EXTRA_PATH -} - -function python-tools { - # Python User Env - PIP_USER=yes - export PIP_USER - PYTHONUSERBASE=$prebuilt/pylocal - export PYTHONUSERBASE - add_path $PYTHONUSERBASE/bin - pip3 install pexpect -} - -function u-boot-tools { - if ! type mkimage > /dev/null; then - case $os in - Darwin) - brew install u-boot-tools - ;; - esac - fi -} - -function elf-toolchain { - if ! type x86_64-elf-gcc > /dev/null; then - case $os in - Darwin) - brew install x86_64-elf-gcc - ;; - esac - fi - x86_64-elf-gcc --version -} - -function gen-romfs { - add_path $prebuilt/genromfs/usr/bin - - if [ ! -f "$prebuilt/genromfs/usr/bin/genromfs" ]; then - if [ ! -d "$tools" ]; then - git clone https://bitbucket.org/nuttx/tools.git $tools - fi - mkdir -p $prebuilt; cd $tools - tar zxf genromfs-0.5.2.tar.gz -C $prebuilt - cd $prebuilt/genromfs-0.5.2 - make install PREFIX=$prebuilt/genromfs - cd $prebuilt - rm -rf genromfs-0.5.2 - fi -} - -function gperf { - add_path $prebuilt/gperf/bin - - if [ ! -f "$prebuilt/gperf/bin/gperf" ]; then - cd $prebuilt - wget --quiet http://ftp.gnu.org/pub/gnu/gperf/gperf-3.1.tar.gz - tar zxf gperf-3.1.tar.gz - cd $prebuilt/gperf-3.1 - ./configure --prefix=$prebuilt/gperf; make; make install - cd $prebuilt - rm -rf gperf-3.1; rm gperf-3.1.tar.gz - fi -} - -function kconfig-frontends { - add_path $prebuilt/kconfig-frontends/bin - - if [ ! -f "$prebuilt/kconfig-frontends/bin/kconfig-conf" ]; then - cd $tools/kconfig-frontends - ./configure --prefix=$prebuilt/kconfig-frontends \ - --disable-kconfig --disable-nconf --disable-qconf \ - --disable-gconf --disable-mconf --disable-static \ - --disable-shared --disable-L10n - # Avoid "aclocal/automake missing" errors - touch aclocal.m4 Makefile.in - make install - cd $tools; git clean -xfd - fi -} - -function bloaty { - add_path $prebuilt/bloaty/bin - if [ ! -f "$prebuilt/bloaty/bin/bloaty" ]; then - git clone --depth 1 --branch v1.1 https://github.com/google/bloaty bloaty-src - cd bloaty-src - mkdir -p $prebuilt/bloaty - cmake -DCMAKE_SYSTEM_PREFIX_PATH=$prebuilt/bloaty - make install -j 6 - cd $prebuilt - rm -rf bloaty-src - fi -} - -function arm-gcc-toolchain { - add_path $prebuilt/gcc-arm-none-eabi/bin - - if [ ! -f "$prebuilt/gcc-arm-none-eabi/bin/arm-none-eabi-gcc" ]; then - local flavor - case $os in - Darwin) - flavor=mac - ;; - Linux) - flavor=x86_64-linux - ;; - esac - cd $prebuilt - wget --quiet https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/RC2.1/gcc-arm-none-eabi-9-2019-q4-major-${flavor}.tar.bz2 - tar jxf gcc-arm-none-eabi-9-2019-q4-major-${flavor}.tar.bz2 - mv gcc-arm-none-eabi-9-2019-q4-major gcc-arm-none-eabi - rm gcc-arm-none-eabi-9-2019-q4-major-${flavor}.tar.bz2 - fi - arm-none-eabi-gcc --version -} - -function mips-gcc-toolchain { - add_path $prebuilt/pinguino-compilers/linux64/p32/bin - - if [ ! -f "$prebuilt/pinguino-compilers/linux64/p32/bin/p32-gcc" ]; then - cd $prebuilt - git clone https://github.com/PinguinoIDE/pinguino-compilers - fi - p32-gcc --version -} - -function riscv-gcc-toolchain { - add_path $prebuilt/riscv64-unknown-elf-gcc/bin - - if [ ! -f "$prebuilt/riscv64-unknown-elf-gcc/bin/riscv64-unknown-elf-gcc" ]; then - local flavor - case $os in - Darwin) - flavor=x86_64-apple-darwin - ;; - Linux) - flavor=x86_64-linux-ubuntu14 - ;; - esac - cd $prebuilt - wget --quiet https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-${flavor}.tar.gz - tar zxf riscv64-unknown-elf-gcc-8.3.0-2019.08.0-${flavor}.tar.gz - mv riscv64-unknown-elf-gcc-8.3.0-2019.08.0-${flavor} riscv64-unknown-elf-gcc - rm riscv64-unknown-elf-gcc-8.3.0-2019.08.0-${flavor}.tar.gz - fi - riscv64-unknown-elf-gcc --version -} - -function xtensa-esp32-gcc-toolchain { - add_path $prebuilt/xtensa-esp32-elf/bin - - if [ ! -f "$prebuilt/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc" ]; then - cd $prebuilt - case $os in - Darwin) - wget --quiet https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-macos.tar.gz - tar xzf xtensa-esp32-elf-gcc8_2_0-esp-2019r2-macos.tar.gz - rm xtensa-esp32-elf-gcc8_2_0-esp-2019r2-macos.tar.gz - ;; - Linux) - wget --quiet https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar.xz - xz -d xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar.xz - tar xf xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar - rm xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-rc2-linux-amd64.tar - ;; - esac - fi - xtensa-esp32-elf-gcc --version - pip3 install esptool -} - -function avr-gcc-toolchain { - if ! type avr-gcc > /dev/null; then - case $os in - Darwin) - brew tap osx-cross/avr - brew install avr-gcc - ;; - esac - fi -} - -function rx-gcc-toolchain { - add_path $prebuilt/renesas-toolchain/rx-elf-gcc/bin - - if [ ! -f "$prebuilt/renesas-toolchain/rx-elf-gcc/bin/rx-elf-gcc" ]; then - case $os in - Linux) - # Download toolchain source code - # RX toolchain is built from source code. Once prebuilt RX toolchain is made available, the below code snippet can be removed. - mkdir -p $prebuilt/renesas-tools/rx/source; cd $prebuilt/renesas-tools/rx/source - wget --quiet https://gcc-renesas.com/downloads/d.php?f=rx/binutils/4.8.4.201803-gnurx/rx_binutils2.24_2018Q3.tar.gz \ - -O rx_binutils2.24_2018Q3.tar.gz - tar zxf rx_binutils2.24_2018Q3.tar.gz - wget --quiet https://gcc-renesas.com/downloads/d.php?f=rx/gcc/4.8.4.201803-gnurx/rx_gcc_4.8.4_2018Q3.tar.gz \ - -O rx_gcc_4.8.4_2018Q3.tar.gz - tar zxf rx_gcc_4.8.4_2018Q3.tar.gz - wget --quiet https://gcc-renesas.com/downloads/d.php?f=rx/newlib/4.8.4.201803-gnurx/rx_newlib2.2.0_2018Q3.tar.gz \ - -O rx_newlib2.2.0_2018Q3.tar.gz - tar zxf rx_newlib2.2.0_2018Q3.tar.gz - - # Install binutils - cd $prebuilt/renesas-tools/rx/source/binutils; chmod +x ./configure ./mkinstalldirs - mkdir -p $prebuilt/renesas-tools/rx/build/binutils; cd $prebuilt/renesas-tools/rx/build/binutils - $prebuilt/renesas-tools/rx/source/binutils/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc \ - --disable-werror - make; make install - - # Install gcc - cd $prebuilt/renesas-tools/rx/source/gcc - chmod +x ./contrib/download_prerequisites ./configure ./move-if-change ./libgcc/mkheader.sh - ./contrib/download_prerequisites - sed -i '1s/^/@documentencoding ISO-8859-1\n/' ./gcc/doc/gcc.texi - sed -i 's/@tex/\n&/g' ./gcc/doc/gcc.texi && sed -i 's/@end tex/\n&/g' ./gcc/doc/gcc.texi - mkdir -p $prebuilt/renesas-tools/rx/build/gcc; cd $prebuilt/renesas-tools/rx/build/gcc - $prebuilt/renesas-tools/rx/source/gcc/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc \ - --disable-shared --disable-multilib --disable-libssp --disable-libstdcxx-pch --disable-werror --enable-lto \ - --enable-gold --with-pkgversion=GCC_Build_1.02 --with-newlib --enable-languages=c - make; make install - - # Install newlib - cd $prebuilt/renesas-tools/rx/source/newlib; chmod +x ./configure - mkdir -p $prebuilt/renesas-tools/rx/build/newlib; cd $prebuilt/renesas-tools/rx/build/newlib - $prebuilt/renesas-tools/rx/source/newlib/configure --target=rx-elf --prefix=$prebuilt/renesas-toolchain/rx-elf-gcc - make; make install - rm -rf $prebuilt/renesas-tools/ - ;; - esac - fi - rx-elf-gcc --version -} - -function c-cache { - add_path $prebuilt/ccache/bin - - if ! type ccache > /dev/null; then - case $os in - Darwin) - brew install ccache - ;; - Linux) - cd $prebuilt; - wget https://github.com/ccache/ccache/releases/download/v3.7.7/ccache-3.7.7.tar.gz - tar zxf ccache-3.7.7.tar.gz - cd ccache-3.7.7; ./configure --prefix=$prebuilt/ccache; make; make install - cd $prebuilt; rm -rf ccache-3.7.7; rm ccache-3.7.7.tar.gz - ;; - esac - fi - - ccache --version - mkdir -p $prebuilt/ccache/bin/ - ln -sf `which ccache` $prebuilt/ccache/bin/x86_64-elf-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/x86_64-elf-g++ - ln -sf `which ccache` $prebuilt/ccache/bin/cc - ln -sf `which ccache` $prebuilt/ccache/bin/c++ - ln -sf `which ccache` $prebuilt/ccache/bin/clang - ln -sf `which ccache` $prebuilt/ccache/bin/clang++ - ln -sf `which ccache` $prebuilt/ccache/bin/gcc - ln -sf `which ccache` $prebuilt/ccache/bin/g++ - ln -sf `which ccache` $prebuilt/ccache/bin/arm-none-eabi-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/arm-none-eabi-g++ - ln -sf `which ccache` $prebuilt/ccache/bin/p32-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/riscv64-unknown-elf-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/riscv64-unknown-elf-g++ - ln -sf `which ccache` $prebuilt/ccache/bin/xtensa-esp32-elf-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/avr-gcc - ln -sf `which ccache` $prebuilt/ccache/bin/avr-g++ -} - -function binutils { - mkdir -p $prebuilt/bintools/bin - add_path $prebuilt/bintools/bin - - if ! type objcopy > /dev/null; then - case $os in - Darwin) - brew install binutils - # It is possible we cached prebuilt but did brew install so recreate - # simlink if it exists - rm -f $prebuilt/bintools/bin/objcopy - ln -s /usr/local/opt/binutils/bin/objcopy $prebuilt/bintools/bin/objcopy - ;; - esac - fi -} - -function usage { - echo "" - echo "USAGE: $0 [-i] [-s] [-c] [-*] " - echo " $0 -h" - echo "" - echo "Where:" - echo " -i install tools" - echo " -s setup repos" - echo " -c enable ccache" - echo " -* support all options in testbuild.sh" - echo " -h will show this help test and terminate" - echo " select testlist file" - echo "" - exit 1 -} - -function enable_ccache { - export USE_CCACHE=1; - ccache -z - ccache -M 5G; - ccache -s -} - -function setup_repos { - pushd . - if [ -d "$nuttx" ]; then - cd $nuttx; git pull - else - git clone https://github.com/apache/incubator-nuttx.git $nuttx - cd $nuttx - fi - git log -1 - - if [ -d "$apps" ]; then - cd $apps; git pull - else - git clone https://github.com/apache/incubator-nuttx-apps.git $apps - cd $apps - fi - git log -1 - popd -} - -function install_tools { - pushd . - for func in $install; do - $func - done - popd - - echo PATH=$EXTRA_PATH\$PATH > $prebuilt/env.sh -} - -function run_builds { - local ncpus - - case $os in - Darwin) - ncpus=$(sysctl -n hw.ncpu) - ;; - Linux) - ncpus=`grep -c ^processor /proc/cpuinfo` - ;; - esac - - options+="-j $ncpus" - - for build in $builds; do - $nuttx/tools/testbuild.sh $options -e "-Wno-cpp -Werror" $build - done -} - -if [ -z "$1" ]; then - usage -fi - -while [ ! -z "$1" ]; do - case "$1" in - -h ) - usage - ;; - -i ) - install_tools - ;; - -c ) - enable_ccache - ;; - -s ) - setup_repos - ;; - -* ) - options+="$1 " - ;; - * ) - builds=$@ - break - ;; - esac - shift -done - -run_builds diff --git a/docker/linux/Dockerfile b/docker/linux/Dockerfile deleted file mode 100644 index c5cd371..0000000 --- a/docker/linux/Dockerfile +++ /dev/null @@ -1,279 +0,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. - -FROM ubuntu:20.04 AS builder-base -# NOTE WE ARE NOT REMOVEING APT CACHE. -# This should only be used for temp build images that artifacts will be copied from -RUN apt-get update -qq && apt-get install -y -qq \ - curl \ - xz-utils - -############################################################################### -# Base image that should be used to prepare tools from nuttx-tools -############################################################################### -FROM builder-base AS nuttx-tools - -RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq \ - flex \ - bison \ - gperf \ - libncurses5-dev \ - make \ - cmake \ - g++ \ - gawk \ - git - -RUN mkdir /tools -WORKDIR /tools - -RUN mkdir -p /tools/nuttx-tools -RUN curl -s -L https://bitbucket.org/nuttx/tools/get/9ad3e1ee75c7.tar.gz \ - | tar -C nuttx-tools --strip-components=1 -xz - -RUN cd nuttx-tools/kconfig-frontends \ - && ./configure --enable-mconf --disable-gconf --disable-qconf --enable-static --prefix=/tools/kconfig-frontends \ - && make install - -RUN cd nuttx-tools \ - && mkdir genromfs \ - && tar -C genromfs --strip-components=1 -xf genromfs-0.5.2.tar.gz \ - && cd genromfs \ - && make install PREFIX=/tools/genromfs - -RUN mkdir bloaty -p \ - && git clone --depth 1 --branch v1.1 https://github.com/google/bloaty bloaty \ - && cd bloaty \ - && cmake -DCMAKE_SYSTEM_PREFIX_PATH=/tools/bloaty \ - && make install - -CMD [ "/bin/bash" ] - -############################################################################### -# Base image that should be used to prepare arch build images -############################################################################### -FROM builder-base AS nuttx-toolchain-base - -RUN mkdir /tools -WORKDIR /tools - -############################################################################### -# Build image for tool required by ARM builds -############################################################################### -FROM nuttx-toolchain-base AS nuttx-toolchain-arm -# Download the latest ARM GCC toolchain prebuilt by ARM -RUN mkdir gcc-arm-none-eabi && \ - curl -s -L "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2?revision=108bd959-44bd-4619-9c19-26187abf5225&la=en&hash=E788CE92E5DFD64B2A8C246BBA91A249CB8E2D2D" \ - | tar -C gcc-arm-none-eabi --strip-components 1 -xj - -############################################################################### -# Build image for tool required by Pinguino builds -############################################################################### -FROM nuttx-toolchain-base AS nuttx-toolchain-pinguino -# Download the pinguino compilers. Note this includes both 8bit and 32bit -# toolchains and builds for multiple host systems. Only copy what is needed. -RUN mkdir pinguino-compilers && \ - curl -s -L "https://github.com/PinguinoIDE/pinguino-compilers/archive/62db5158d7f6d41c6fadb05de81cc31dd81a1958.tar.gz" \ - | tar -C pinguino-compilers --strip-components=2 --wildcards -xz */linux64 - -############################################################################### -# Build image for tool required by RISCV builds -############################################################################### -FROM nuttx-toolchain-base AS nuttx-toolchain-riscv -# Download the latest RISCV GCC toolchain prebuilt by SiFive -RUN mkdir riscv64-unknown-elf-gcc && \ - curl -s -L "https://static.dev.sifive.com/dev-tools/riscv64-unknown-elf-gcc-8.3.0-2019.08.0-x86_64-linux-ubuntu14.tar.gz" \ - | tar -C riscv64-unknown-elf-gcc --strip-components 1 -xz - -############################################################################### -# Build image for tool required by ESP32 builds -############################################################################### -FROM nuttx-toolchain-base AS nuttx-toolchain-esp32 -# Download the latest ESP32 GCC toolchain prebuilt by Espressif -RUN mkdir -p xtensa-esp32-elf-gcc && \ - curl -s -L "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz" \ - | tar -C xtensa-esp32-elf-gcc --strip-components 1 -xz - -RUN echo "ESP Binaries: 2021/02/20" -RUN mkdir -p /tools/blobs && cd /tools/blobs \ - && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/bootloader-esp32.bin" -o bootloader-esp32.bin \ - && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/bootloader-esp32c3.bin" -o bootloader-esp32c3.bin \ - && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/partition-table-esp32.bin" -o partition-table-esp32.bin \ - && curl -s -L "https://github.com/espressif/esp-nuttx-bootloader/releases/download/latest/partition-table-esp32c3.bin" -o partition-table-esp32c3.bin - -############################################################################### -# Build image for tool required by Renesas builds -############################################################################### -FROM nuttx-toolchain-base AS nuttx-toolchain-renesas -# Build Renesas RX GCC toolchain -RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq \ - flex \ - bison \ - texinfo \ - libncurses5-dev \ - m4 \ - make \ - gcc \ - g++ \ - wget - -# Download toolchain source code -RUN mkdir -p /tools/renesas-tools/source/binutils && \ - curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/binutils/4.8.4.201803-gnurx/rx_binutils2.24_2018Q3.tar.gz" \ - | tar -C renesas-tools/source/binutils --strip-components=1 -xz -RUN mkdir -p /tools/renesas-tools/source/gcc && \ - curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/gcc/4.8.4.201803-gnurx/rx_gcc_4.8.4_2018Q3.tar.gz" \ - | tar -C renesas-tools/source/gcc --strip-components=1 -xz -RUN mkdir -p /tools/renesas-tools/source/newlib && \ - curl -s -L "https://gcc-renesas.com/downloads/d.php?f=rx/newlib/4.8.4.201803-gnurx/rx_newlib2.2.0_2018Q3.tar.gz" \ - | tar -C renesas-tools/source/newlib --strip-components=1 -xz - -# Install binutils -RUN cd renesas-tools/source/binutils && \ - chmod +x ./configure ./mkinstalldirs && \ - mkdir -p /tools/renesas-tools/build/binutils && cd /tools/renesas-tools/build/binutils && \ - /tools/renesas-tools/source/binutils/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc --disable-werror &&\ - make && make install -ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH" - -# Install gcc -RUN cd renesas-tools/source/gcc && \ - chmod +x ./contrib/download_prerequisites ./configure ./move-if-change ./libgcc/mkheader.sh && \ - ./contrib/download_prerequisites && \ - sed -i '1s/^/@documentencoding ISO-8859-1\n/' ./gcc/doc/gcc.texi && \ - sed -i 's/@tex/\n&/g' ./gcc/doc/gcc.texi && sed -i 's/@end tex/\n&/g' ./gcc/doc/gcc.texi && \ - mkdir -p /tools/renesas-tools/build/gcc && cd /tools/renesas-tools/build/gcc && \ - /tools/renesas-tools/source/gcc/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc \ - --disable-shared --disable-multilib --disable-libssp --disable-libstdcxx-pch --disable-werror --enable-lto \ - --enable-gold --with-pkgversion=GCC_Build_1.02 --with-newlib --enable-languages=c && \ - make && make install -ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH" - -# Install newlib -RUN cd renesas-tools/source/newlib && \ - chmod +x ./configure && \ - mkdir -p /tools/renesas-tools/build/newlib && cd /tools/renesas-tools/build/newlib && \ - /tools/renesas-tools/source/newlib/configure --target=rx-elf --prefix=/tools/renesas-toolchain/rx-elf-gcc && \ - make && make install -RUN cd /tools/renesas-tools/build/gcc && \ - make && make install - - -############################################################################### -# Final Docker image used for running CI system. This includes all toolchains -# supported by the CI system. -############################################################################### -FROM ubuntu:20.04 -LABEL maintainer="dev@nuttx.apache.org" - -RUN dpkg --add-architecture i386 -# This is used for the final images so make sure to not store apt cache -# Note: xtensa-esp32-elf-gdb is linked to libpython2.7 -RUN apt-get update -qq && DEBIAN_FRONTEND="noninteractive" apt-get install -y -qq --no-install-recommends \ - -o APT::Immediate-Configure=0 \ - avr-libc \ - build-essential \ - ccache \ - curl \ - gcc \ - gcc-avr \ - gcc-multilib \ - gettext \ - git \ - lib32z1-dev \ - libc6-dev-i386 \ - libasound2-dev libasound2-dev:i386 \ - libcurl4-openssl-dev \ - libpulse-dev libpulse-dev:i386 \ - libpython2.7 \ - libx11-dev libx11-dev:i386 \ - libxext-dev libxext-dev:i386 \ - linux-libc-dev:i386 \ - linux-headers-generic \ - python3 \ - python3-pip \ - python-is-python3 \ - u-boot-tools \ - unzip \ - wget \ - xxd \ - && rm -rf /var/lib/apt/lists/* - - -# Configure out base setup for adding python packages -ENV PIP_DISABLE_PIP_VERSION_CHECK=true -# This disables the cache with value 0. We do not want caching as it -# increases the images size. -ENV PIP_NO_CACHE_DIR=0 -# We are using the minimal python installation from the system so include -# setuptools and also wheel so we can use the binary releases of packages -# instead of requiring them to be compiled. -RUN pip3 install setuptools wheel - -RUN mkdir /tools -WORKDIR /tools - -# Pull in the tools we just built for nuttx -COPY --from=nuttx-tools /tools/genromfs/ /tools/genromfs/ -ENV PATH="/tools/genromfs/usr/bin:$PATH" -COPY --from=nuttx-tools /tools/kconfig-frontends/ kconfig-frontends/ -ENV PATH="/tools/kconfig-frontends/bin:$PATH" -COPY --from=nuttx-tools /tools/bloaty/ bloaty/ -ENV PATH="/tools/bloaty/bin:$PATH" - -# ARM toolchain -COPY --from=nuttx-toolchain-arm /tools/gcc-arm-none-eabi/ gcc-arm-none-eabi/ -ENV PATH="/tools/gcc-arm-none-eabi/bin:$PATH" - -# MIPS toolchain -COPY --from=nuttx-toolchain-pinguino /tools/pinguino-compilers/p32/ pinguino-compilers/p32/ -ENV PATH="/tools/pinguino-compilers/p32/bin:$PATH" - -# RISCV toolchain -COPY --from=nuttx-toolchain-riscv /tools/riscv64-unknown-elf-gcc/ riscv64-unknown-elf-gcc/ -ENV PATH="/tools/riscv64-unknown-elf-gcc/bin:$PATH" - -# ESP32 toolchain -COPY --from=nuttx-toolchain-esp32 /tools/xtensa-esp32-elf-gcc/ xtensa-esp32-elf-gcc/ -ENV PATH="/tools/xtensa-esp32-elf-gcc/bin:$PATH" -RUN mkdir -p /tools/blobs/esp-bins -COPY --from=nuttx-toolchain-esp32 /tools/blobs/* /tools/blobs/esp-bins/ -RUN pip3 install esptool - -# Renesas toolchain -COPY --from=nuttx-toolchain-renesas /tools/renesas-toolchain/rx-elf-gcc/ renesas-toolchain/rx-elf-gcc/ -ENV PATH="/tools/renesas-toolchain/rx-elf-gcc/bin:$PATH" - -# Configure ccache -RUN mkdir -p /tools/ccache/bin && \ - ln -sf `which ccache` /tools/ccache/bin/cc && \ - ln -sf `which ccache` /tools/ccache/bin/c++ && \ - ln -sf `which ccache` /tools/ccache/bin/clang && \ - ln -sf `which ccache` /tools/ccache/bin/clang++ && \ - ln -sf `which ccache` /tools/ccache/bin/gcc && \ - ln -sf `which ccache` /tools/ccache/bin/g++ && \ - ln -sf `which ccache` /tools/ccache/bin/arm-none-eabi-gcc && \ - ln -sf `which ccache` /tools/ccache/bin/arm-none-eabi-g++ && \ - ln -sf `which ccache` /tools/ccache/bin/p32-gcc && \ - ln -sf `which ccache` /tools/ccache/bin/riscv64-unknown-elf-gcc && \ - ln -sf `which ccache` /tools/ccache/bin/riscv64-unknown-elf-g++ && \ - ln -sf `which ccache` /tools/ccache/bin/xtensa-esp32-elf-gcc && \ - ln -sf `which ccache` /tools/ccache/bin/xtensa-esp32-elf-g++ && \ - ln -sf `which ccache` /tools/ccache/bin/avr-gcc && \ - ln -sf `which ccache` /tools/ccache/bin/avr-g++ && \ - ln -sf `which ccache` /tools/ccache/bin/rx-elf-gcc -ENV PATH="/tools/ccache/bin:$PATH" - -CMD [ "/bin/bash" ] diff --git a/testlist/all.dat b/testlist/all.dat deleted file mode 100644 index b630b10..0000000 --- a/testlist/all.dat +++ /dev/null @@ -1,35 +0,0 @@ -/arm,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --eagle100:nxflat --eagle100:thttpd --imxrt1050-evk:libcxxtest --imxrt1060-evk:libcxxtest --launchxl-cc1310:nsh --launchxl-tms57004:nsh --lpcxpresso-lpc1768:thttpd --moxa:nsh --olimex-lpc1766stk:slip-httpd --olimex-lpc1766stk:thttpd-nxflat --shenzhou:thttpd --stm32f4discovery:cxxtest --stm32f4discovery:testlibcxx --stm32f4discovery:winbuild --tms570ls31x-usb-kit:nsh --zkit-arm-1769:thttpd - -/mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL - -/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL - -/sim - -/x86 - -/x86_64 - -/xtensa - -/renesas/rx65n/rx65n-grrose --rx65n-grrose:ipv6 - -/renesas/rx65n/rx65n-rsk2mb --rx65n-rsk2mb:ipv6 diff --git a/testlist/arm-01.dat b/testlist/arm-01.dat deleted file mode 100644 index b22a084..0000000 --- a/testlist/arm-01.dat +++ /dev/null @@ -1 +0,0 @@ -/arm/[a-h]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-02.dat b/testlist/arm-02.dat deleted file mode 100644 index 1562c2d..0000000 --- a/testlist/arm-02.dat +++ /dev/null @@ -1,3 +0,0 @@ -/arm/[i-k]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --imxrt1050-evk:libcxxtest --imxrt1060-evk:libcxxtest diff --git a/testlist/arm-03.dat b/testlist/arm-03.dat deleted file mode 100644 index 8e92ab6..0000000 --- a/testlist/arm-03.dat +++ /dev/null @@ -1,5 +0,0 @@ -/arm/lpc17xx_40xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --lpcxpresso-lpc1768:thttpd --olimex-lpc1766stk:slip-httpd --olimex-lpc1766stk:thttpd-nxflat --zkit-arm-1769:thttpd diff --git a/testlist/arm-04.dat b/testlist/arm-04.dat deleted file mode 100644 index de8f686..0000000 --- a/testlist/arm-04.dat +++ /dev/null @@ -1,11 +0,0 @@ -/arm/lc823450,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lpc214x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lpc2378,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lpc31xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lpc43xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/lpc54xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-05.dat b/testlist/arm-05.dat deleted file mode 100644 index e79de83..0000000 --- a/testlist/arm-05.dat +++ /dev/null @@ -1,6 +0,0 @@ -/arm/[m-r]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --moxa:nsh - -/arm/s32k1xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/sam34,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-06.dat b/testlist/arm-06.dat deleted file mode 100644 index c733d4c..0000000 --- a/testlist/arm-06.dat +++ /dev/null @@ -1,7 +0,0 @@ -/arm/sama5,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/samd2l2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/samd5e5,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/samv7,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-07.dat b/testlist/arm-07.dat deleted file mode 100644 index c531b45..0000000 --- a/testlist/arm-07.dat +++ /dev/null @@ -1,7 +0,0 @@ -/arm/stm32/[a-m]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f1*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f2*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f30*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-08.dat b/testlist/arm-08.dat deleted file mode 100644 index ac945ac..0000000 --- a/testlist/arm-08.dat +++ /dev/null @@ -1,9 +0,0 @@ -/arm/stm32/nucleo-f33*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-f4*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-g*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/nucleo-l*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/olimex-*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-09.dat b/testlist/arm-09.dat deleted file mode 100644 index 2771070..0000000 --- a/testlist/arm-09.dat +++ /dev/null @@ -1,14 +0,0 @@ -/arm/stm32/olimexino-stm32,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/omnibusf4,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/photon,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/shenzhou,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --shenzhou:thttpd - -/arm/stm32/stm3210e-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm3220g-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm3240g-eval,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-10.dat b/testlist/arm-10.dat deleted file mode 100644 index c30d5ba..0000000 --- a/testlist/arm-10.dat +++ /dev/null @@ -1,15 +0,0 @@ -/arm/stm32/stm32_tiny,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32butterfly2,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f103-minimum,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f334-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f3discovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f411-minimum,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f411e-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32f429i-disco,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-11.dat b/testlist/arm-11.dat deleted file mode 100644 index 2d8f223..0000000 --- a/testlist/arm-11.dat +++ /dev/null @@ -1,10 +0,0 @@ -/arm/stm32/stm32f4discovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --stm32f4discovery:cxxtest --stm32f4discovery:testlibcxx --stm32f4discovery:winbuild - -/arm/stm32/stm32ldiscovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/stm32vldiscovery,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32/viewtool-stm32f107,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-12.dat b/testlist/arm-12.dat deleted file mode 100644 index 5fcca30..0000000 --- a/testlist/arm-12.dat +++ /dev/null @@ -1,3 +0,0 @@ -/arm/stm32f*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/stm32h*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL diff --git a/testlist/arm-13.dat b/testlist/arm-13.dat deleted file mode 100644 index 3d48e0a..0000000 --- a/testlist/arm-13.dat +++ /dev/null @@ -1,10 +0,0 @@ -/arm/stm32l*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/str71x,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -/arm/[t-z]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL --eagle100:nxflat --eagle100:thttpd --launchxl-cc1310:nsh --launchxl-tms57004:nsh --tms570ls31x-usb-kit:nsh diff --git a/testlist/macos.dat b/testlist/macos.dat deleted file mode 100644 index 4b5f6e6..0000000 --- a/testlist/macos.dat +++ /dev/null @@ -1,38 +0,0 @@ -# Chose a minimalistic subset of board/configs due to macOS builds -# being extremely slow on GitHub - -# AVR -# -# We do not have a toolchain for avr32 outside of Microchip login wall. -# The work was never upstreamed to GCC. - -/avr/atmega/arduino-mega2560/configs/nsh - -# MIPS -# -# PINGUINOL toolchain doesn't provide macOS binaries -# with the same name - -#/mips/pic32mx/pic32mx-starterkit/configs/nsh,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL - -# RISC-V - -/risc-v/bl602/bl602evb/configs/wifi,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL - -/risc-v/esp32c3/esp32c3-devkit/configs/wapi,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL - -# ARM - -/arm/stm32/stm32f4discovery/configs/nsh,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL - -# XTENSA - -/xtensa/esp32/esp32-devkitc/configs/wapi - -# x86_64-elf-gcc from homebrew doesn't seem to -# provide __udivdi3 etc for -m32, so we do not build -# x86 - -# x86_64 - -/x86_64/intel64/qemu-intel64/configs/nsh diff --git a/testlist/other.dat b/testlist/other.dat deleted file mode 100644 index fea100e..0000000 --- a/testlist/other.dat +++ /dev/null @@ -1,18 +0,0 @@ -# We do not have a toolchain for avr32 outside of Microchip login wall. -# The work was never upstreamed to GCC. -/avr --avr32dev1:nsh --avr32dev1:ostest - -# PINGUINOL toolchain doesn't provide macOS binaries -# with the same name -/mips,CONFIG_MIPS32_TOOLCHAIN_PINGUINOL - -/renesas/rx65n/rx65n-grrose -/renesas/rx65n/rx65n-rsk2mb - -/x86 - -# x86_64-elf-gcc from homebrew doesn't seem to -# provide __udivdi3 etc for -m32 -/x86_64 diff --git a/testlist/risc-v.dat b/testlist/risc-v.dat deleted file mode 100644 index 10556d7..0000000 --- a/testlist/risc-v.dat +++ /dev/null @@ -1 +0,0 @@ -/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL diff --git a/testlist/sim01.dat b/testlist/sim01.dat deleted file mode 100644 index 5c6588d..0000000 --- a/testlist/sim01.dat +++ /dev/null @@ -1,21 +0,0 @@ -/sim/*/*/*/[a-n]* - -# macOS doesn't have ALSA --Darwin,sim:alsa - --Darwin,sim:cxxtest --Darwin,sim:libcxxtest - -# Do not build Linux configs --Darwin,sim:linuxi2c - -# macOS doesn't support 32bit(CONFIG_SIM_M32=y) anymore --Darwin,sim:loadable --Darwin,sim:module32 - -# macOS doesn't have X11 --Darwin,sim:lvgl --Darwin,sim:nsh2 --Darwin,sim:nx11 --Darwin,sim:nxlines --Darwin,sim:nxwm diff --git a/testlist/sim02.dat b/testlist/sim02.dat deleted file mode 100644 index 677370d..0000000 --- a/testlist/sim02.dat +++ /dev/null @@ -1,9 +0,0 @@ -/sim/*/*/*/[o-z]* - -# macOS doesn't support 32bit anymore(CONFIG_SIM_M32=y) --Darwin,sim:rpproxy --Darwin,sim:rpserver --Darwin,sim:sotest32 - -# macOS doesn't have X11 --Darwin,sim:touchscreen diff --git a/testlist/xtensa.dat b/testlist/xtensa.dat deleted file mode 100644 index 0fec540..0000000 --- a/testlist/xtensa.dat +++ /dev/null @@ -1 +0,0 @@ -/xtensa