mirror of
https://github.com/apache/nuttx.git
synced 2025-01-13 02:48:37 +08:00
CI: Migrate ci tooling from testing repository to main os repo
This commit is contained in:
parent
9097244cb8
commit
15b99d1f4b
27 changed files with 1037 additions and 18 deletions
25
.github/actions/ci-container/action.yaml
vendored
Normal file
25
.github/actions/ci-container/action.yaml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
|||
# 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/apache-nuttx-ci-linux'
|
||||
args:
|
||||
- "/bin/bash"
|
||||
- "-ce"
|
||||
- ${{ inputs.run }}
|
24
.github/workflows/build.yml
vendored
24
.github/workflows/build.yml
vendored
|
@ -32,7 +32,6 @@ jobs:
|
|||
id: gittargets
|
||||
shell: bash
|
||||
run: |
|
||||
TESTING_REF="master" # Always use master for testing
|
||||
OS_REF=""
|
||||
APPS_REF=""
|
||||
|
||||
|
@ -80,7 +79,6 @@ jobs:
|
|||
|
||||
echo ::set-output name=os_ref::$OS_REF
|
||||
echo ::set-output name=apps_ref::$APPS_REF
|
||||
echo ::set-output name=testing_ref::$TESTING_REF
|
||||
|
||||
- name: Checkout nuttx repo
|
||||
uses: actions/checkout@v2
|
||||
|
@ -100,14 +98,6 @@ jobs:
|
|||
path: sources/apps
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Checkout testing repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
repository: apache/incubator-nuttx-testing
|
||||
ref: ${{ steps.gittargets.outputs.testing_ref }}
|
||||
path: sources/testing
|
||||
fetch-depth: 1
|
||||
|
||||
- name: Tar sources
|
||||
run: tar zcf sources.tar.gz sources
|
||||
- name: Archive Source Bundle
|
||||
|
@ -142,11 +132,11 @@ jobs:
|
|||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Docker Pull
|
||||
run: docker pull docker.pkg.github.com/apache/incubator-nuttx-testing/nuttx-ci-linux
|
||||
run: docker pull docker.pkg.github.com/apache/incubator-nuttx/apache-nuttx-ci-linux
|
||||
- name: Export NuttX Repo SHA
|
||||
run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV
|
||||
- name: Run builds
|
||||
uses: ./sources/testing/.github/actions/ci-container
|
||||
uses: ./sources/nuttx/.github/actions/ci-container
|
||||
env:
|
||||
BLOBDIR: /tools/blobs
|
||||
with:
|
||||
|
@ -154,8 +144,8 @@ jobs:
|
|||
echo "::add-matcher::sources/nuttx/.github/gcc.json"
|
||||
export CCACHE_DIR=`pwd`/ccache
|
||||
mkdir $CCACHE_DIR
|
||||
cd sources/testing
|
||||
export ARTIFACTDIR=`pwd`/../../buildartifacts
|
||||
export ARTIFACTDIR=`pwd`/buildartifacts
|
||||
cd sources/nuttx/tools/ci
|
||||
./cibuild.sh -A -c testlist/${{matrix.boards}}.dat
|
||||
ccache -s
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
@ -185,7 +175,7 @@ jobs:
|
|||
cache-name: ${{ runner.os }}-cache-tools
|
||||
with:
|
||||
path: prebuilt
|
||||
key: ${{ runner.os }}-tools-${{ hashFiles('./sources/testing/cibuild.sh') }}
|
||||
key: ${{ runner.os }}-tools-${{ hashFiles('./sources/nuttx/tools/ci/cibuild.sh') }}
|
||||
|
||||
- name: Export NuttX Repo SHA
|
||||
run: echo "nuttx_sha=`git -C sources/nuttx rev-parse HEAD`" >> $GITHUB_ENV
|
||||
|
@ -194,8 +184,8 @@ jobs:
|
|||
echo "::add-matcher::sources/nuttx/.github/gcc.json"
|
||||
export CCACHE_DIR=`pwd`/ccache
|
||||
mkdir $CCACHE_DIR
|
||||
cd sources/testing
|
||||
export ARTIFACTDIR=`pwd`/../../buildartifacts
|
||||
export ARTIFACTDIR=`pwd`/buildartifacts
|
||||
cd sources/nuttx/tools/ci
|
||||
./cibuild.sh -i -A -c testlist/${{matrix.boards}}.dat
|
||||
ccache -s
|
||||
- uses: actions/upload-artifact@v2
|
||||
|
|
2
.github/workflows/cancel.yml
vendored
2
.github/workflows/cancel.yml
vendored
|
@ -1,7 +1,7 @@
|
|||
name: Cancelling Duplicates
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["Build", "Check", "Build Documentation", "Lint"]
|
||||
workflows: ["Build", "Check", "Build Documentation", " Lint", "Docker-Linux"]
|
||||
types: ['requested']
|
||||
|
||||
jobs:
|
||||
|
|
57
.github/workflows/docker_linux.yml
vendored
Normal file
57
.github/workflows/docker_linux.yml
vendored
Normal file
|
@ -0,0 +1,57 @@
|
|||
# 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:
|
||||
- 'tools/ci/docker/linux/**'
|
||||
|
||||
# Run builds for any PRs.
|
||||
pull_request:
|
||||
paths:
|
||||
- 'tools/ci/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 ./tools/ci/docker/linux/Dockerfile ./tools/ci/docker/
|
||||
|
||||
- name: Push Linux image
|
||||
if: (github.event_name == 'push') && (github.ref == 'refs/heads/master')
|
||||
run: |
|
||||
docker push $IMAGE_TAG
|
2
tools/ci/README.md
Normal file
2
tools/ci/README.md
Normal file
|
@ -0,0 +1,2 @@
|
|||
# CI Tools
|
||||
These are tools and data used for the CI system. Some of what is here may also be useful for local testing.
|
442
tools/ci/cibuild.sh
Executable file
442
tools/ci/cibuild.sh
Executable file
|
@ -0,0 +1,442 @@
|
|||
#!/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] [-*] <testlist>"
|
||||
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 " <testlist> 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
|
279
tools/ci/docker/linux/Dockerfile
Normal file
279
tools/ci/docker/linux/Dockerfile
Normal file
|
@ -0,0 +1,279 @@
|
|||
# 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" ]
|
35
tools/ci/testlist/all.dat
Normal file
35
tools/ci/testlist/all.dat
Normal file
|
@ -0,0 +1,35 @@
|
|||
/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
|
1
tools/ci/testlist/arm-01.dat
Normal file
1
tools/ci/testlist/arm-01.dat
Normal file
|
@ -0,0 +1 @@
|
|||
/arm/[a-h]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL
|
3
tools/ci/testlist/arm-02.dat
Normal file
3
tools/ci/testlist/arm-02.dat
Normal file
|
@ -0,0 +1,3 @@
|
|||
/arm/[i-k]*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL
|
||||
-imxrt1050-evk:libcxxtest
|
||||
-imxrt1060-evk:libcxxtest
|
5
tools/ci/testlist/arm-03.dat
Normal file
5
tools/ci/testlist/arm-03.dat
Normal file
|
@ -0,0 +1,5 @@
|
|||
/arm/lpc17xx_40xx,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL
|
||||
-lpcxpresso-lpc1768:thttpd
|
||||
-olimex-lpc1766stk:slip-httpd
|
||||
-olimex-lpc1766stk:thttpd-nxflat
|
||||
-zkit-arm-1769:thttpd
|
11
tools/ci/testlist/arm-04.dat
Normal file
11
tools/ci/testlist/arm-04.dat
Normal file
|
@ -0,0 +1,11 @@
|
|||
/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
|
6
tools/ci/testlist/arm-05.dat
Normal file
6
tools/ci/testlist/arm-05.dat
Normal file
|
@ -0,0 +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
|
7
tools/ci/testlist/arm-06.dat
Normal file
7
tools/ci/testlist/arm-06.dat
Normal file
|
@ -0,0 +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
|
7
tools/ci/testlist/arm-07.dat
Normal file
7
tools/ci/testlist/arm-07.dat
Normal file
|
@ -0,0 +1,7 @@
|
|||
/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
|
9
tools/ci/testlist/arm-08.dat
Normal file
9
tools/ci/testlist/arm-08.dat
Normal file
|
@ -0,0 +1,9 @@
|
|||
/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
|
14
tools/ci/testlist/arm-09.dat
Normal file
14
tools/ci/testlist/arm-09.dat
Normal file
|
@ -0,0 +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
|
15
tools/ci/testlist/arm-10.dat
Normal file
15
tools/ci/testlist/arm-10.dat
Normal file
|
@ -0,0 +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
|
10
tools/ci/testlist/arm-11.dat
Normal file
10
tools/ci/testlist/arm-11.dat
Normal file
|
@ -0,0 +1,10 @@
|
|||
/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
|
3
tools/ci/testlist/arm-12.dat
Normal file
3
tools/ci/testlist/arm-12.dat
Normal file
|
@ -0,0 +1,3 @@
|
|||
/arm/stm32f*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL
|
||||
|
||||
/arm/stm32h*,CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL
|
10
tools/ci/testlist/arm-13.dat
Normal file
10
tools/ci/testlist/arm-13.dat
Normal file
|
@ -0,0 +1,10 @@
|
|||
/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
|
38
tools/ci/testlist/macos.dat
Normal file
38
tools/ci/testlist/macos.dat
Normal file
|
@ -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
|
18
tools/ci/testlist/other.dat
Normal file
18
tools/ci/testlist/other.dat
Normal file
|
@ -0,0 +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
|
||||
|
||||
# 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
|
1
tools/ci/testlist/risc-v.dat
Normal file
1
tools/ci/testlist/risc-v.dat
Normal file
|
@ -0,0 +1 @@
|
|||
/risc-v,CONFIG_RV32IM_TOOLCHAIN_GNU_RVGL
|
21
tools/ci/testlist/sim01.dat
Normal file
21
tools/ci/testlist/sim01.dat
Normal file
|
@ -0,0 +1,21 @@
|
|||
/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
|
9
tools/ci/testlist/sim02.dat
Normal file
9
tools/ci/testlist/sim02.dat
Normal file
|
@ -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
|
1
tools/ci/testlist/xtensa.dat
Normal file
1
tools/ci/testlist/xtensa.dat
Normal file
|
@ -0,0 +1 @@
|
|||
/xtensa
|
Loading…
Reference in a new issue