2019-10-27 12:19:48 +00:00
|
|
|
|
variables:
|
2020-01-27 21:23:29 +00:00
|
|
|
|
windows_vm: vs2017-win2016
|
2019-10-28 14:25:03 +00:00
|
|
|
|
ubuntu_vm: ubuntu-18.04
|
2020-05-27 00:39:03 +00:00
|
|
|
|
macos_vm: macOS-10.15
|
2021-07-02 14:41:58 +00:00
|
|
|
|
ci_runner_image: trini/u-boot-gitlab-ci-runner:focal-20210609-06Jul2021
|
2019-10-28 14:25:03 +00:00
|
|
|
|
# Add '-u 0' options for Azure pipelines, otherwise we get "permission
|
|
|
|
|
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
|
|
|
|
|
# since our $(ci_runner_image) user is not root.
|
|
|
|
|
container_option: -u 0
|
|
|
|
|
work_dir: /u
|
2019-10-27 12:19:48 +00:00
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
- job: tools_only_windows
|
|
|
|
|
displayName: 'Ensure host tools build for Windows'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(windows_vm)
|
|
|
|
|
steps:
|
2020-07-28 09:06:44 +00:00
|
|
|
|
- powershell: |
|
2021-06-21 23:33:21 +00:00
|
|
|
|
(New-Object Net.WebClient).DownloadFile("https://github.com/msys2/msys2-installer/releases/download/2021-06-04/msys2-base-x86_64-20210604.sfx.exe", "sfx.exe")
|
2019-10-27 12:19:48 +00:00
|
|
|
|
displayName: 'Install MSYS2'
|
|
|
|
|
- script: |
|
2020-07-28 09:06:44 +00:00
|
|
|
|
sfx.exe -y -o%CD:~0,2%\
|
2020-07-28 09:06:42 +00:00
|
|
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu"
|
2019-10-27 12:19:48 +00:00
|
|
|
|
displayName: 'Update MSYS2'
|
|
|
|
|
- script: |
|
2021-03-26 19:14:14 +00:00
|
|
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -Sy make gcc bison flex diffutils openssl-devel"
|
2019-10-27 12:19:48 +00:00
|
|
|
|
displayName: 'Install Toolchain'
|
|
|
|
|
- script: |
|
|
|
|
|
echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh
|
2020-07-28 09:06:42 +00:00
|
|
|
|
%CD:~0,2%\msys64\usr\bin\bash -lc "bash build-tools.sh"
|
2019-10-27 12:19:48 +00:00
|
|
|
|
displayName: 'Build Host Tools'
|
|
|
|
|
env:
|
|
|
|
|
# Tell MSYS2 we need a POSIX emulation layer
|
|
|
|
|
MSYSTEM: MSYS
|
|
|
|
|
# Tell MSYS2 not to ‘cd’ our startup directory to HOME
|
|
|
|
|
CHERE_INVOKING: yes
|
2019-10-28 14:25:03 +00:00
|
|
|
|
|
2020-05-27 00:39:03 +00:00
|
|
|
|
- job: tools_only_macOS
|
|
|
|
|
displayName: 'Ensure host tools build for macOS X'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(macos_vm)
|
|
|
|
|
steps:
|
|
|
|
|
- script: brew install make
|
|
|
|
|
displayName: Brew install dependencies
|
|
|
|
|
- script: |
|
|
|
|
|
gmake tools-only_config tools-only NO_SDL=1 \
|
|
|
|
|
HOSTCFLAGS="-I/usr/local/opt/openssl@1.1/include" \
|
|
|
|
|
HOSTLDFLAGS="-L/usr/local/opt/openssl@1.1/lib" \
|
|
|
|
|
-j$(sysctl -n hw.logicalcpu)
|
|
|
|
|
displayName: 'Perform tools-only build'
|
|
|
|
|
|
2019-10-28 14:25:03 +00:00
|
|
|
|
- job: cppcheck
|
|
|
|
|
displayName: 'Static code analysis with cppcheck'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
2020-04-05 20:35:43 +00:00
|
|
|
|
- script: cppcheck -j$(nproc) --force --quiet --inline-suppr .
|
2019-10-28 14:25:03 +00:00
|
|
|
|
|
2020-02-21 17:24:02 +00:00
|
|
|
|
- job: htmldocs
|
|
|
|
|
displayName: 'Build HTML documentation'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
2021-01-25 21:06:25 +00:00
|
|
|
|
- script: |
|
|
|
|
|
virtualenv -p /usr/bin/python3 /tmp/venvhtml
|
|
|
|
|
. /tmp/venvhtml/bin/activate
|
|
|
|
|
pip install -r doc/sphinx/requirements.txt
|
|
|
|
|
make htmldocs
|
2020-02-21 17:24:02 +00:00
|
|
|
|
|
2019-10-28 14:25:03 +00:00
|
|
|
|
- job: todo
|
|
|
|
|
displayName: 'Search for TODO within source tree'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: grep -r TODO .
|
|
|
|
|
- script: grep -r FIXME .
|
|
|
|
|
- script: grep -r HACK . | grep -v HACKKIT
|
|
|
|
|
|
|
|
|
|
- job: sloccount
|
|
|
|
|
displayName: 'Some statistics about the code base'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: sloccount .
|
|
|
|
|
|
|
|
|
|
- job: maintainers
|
|
|
|
|
displayName: 'Ensure all configs have MAINTAINERS entries'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
if [ `./tools/genboardscfg.py -f 2>&1 | wc -l` -ne 0 ]; then exit 1; fi
|
|
|
|
|
|
|
|
|
|
- job: tools_only
|
|
|
|
|
displayName: 'Ensure host tools build'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
make tools-only_config tools-only -j$(nproc)
|
|
|
|
|
|
|
|
|
|
- job: envtools
|
|
|
|
|
displayName: 'Ensure env tools build'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
make tools-only_config envtools -j$(nproc)
|
|
|
|
|
|
|
|
|
|
- job: utils
|
2020-03-11 22:11:15 +00:00
|
|
|
|
displayName: 'Run binman, buildman, dtoc, Kconfig and patman testsuites'
|
2019-10-28 14:25:03 +00:00
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
cat << EOF > build.sh
|
|
|
|
|
set -ex
|
|
|
|
|
cd ${WORK_DIR}
|
|
|
|
|
EOF
|
|
|
|
|
cat << "EOF" >> build.sh
|
|
|
|
|
git config --global user.name "Azure Pipelines"
|
|
|
|
|
git config --global user.email bmeng.cn@gmail.com
|
|
|
|
|
export USER=azure
|
2020-02-11 17:41:14 +00:00
|
|
|
|
virtualenv -p /usr/bin/python3 /tmp/venv
|
2019-10-28 14:25:03 +00:00
|
|
|
|
. /tmp/venv/bin/activate
|
2021-02-26 12:52:29 +00:00
|
|
|
|
pip install -r test/py/requirements.txt
|
2020-03-18 15:42:50 +00:00
|
|
|
|
export UBOOT_TRAVIS_BUILD_DIR=/tmp/sandbox_spl
|
2019-10-28 14:25:03 +00:00
|
|
|
|
export PYTHONPATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc/pylibfdt
|
|
|
|
|
export PATH=${UBOOT_TRAVIS_BUILD_DIR}/scripts/dtc:${PATH}
|
2021-03-21 19:22:53 +00:00
|
|
|
|
./tools/buildman/buildman -T0 -o ${UBOOT_TRAVIS_BUILD_DIR} -w --board sandbox_spl
|
2019-10-28 14:25:03 +00:00
|
|
|
|
./tools/binman/binman --toolpath ${UBOOT_TRAVIS_BUILD_DIR}/tools test
|
|
|
|
|
./tools/buildman/buildman -t
|
|
|
|
|
./tools/dtoc/dtoc -t
|
2020-07-06 03:41:55 +00:00
|
|
|
|
./tools/patman/patman test
|
2020-03-11 22:11:15 +00:00
|
|
|
|
make O=${UBOOT_TRAVIS_BUILD_DIR} testconfig
|
2019-10-28 14:25:03 +00:00
|
|
|
|
EOF
|
|
|
|
|
cat build.sh
|
|
|
|
|
# We cannot use "container" like other jobs above, as buildman
|
|
|
|
|
# seems to hang forever with pre-configured "container" environment
|
|
|
|
|
docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
|
|
|
|
|
|
2020-05-17 12:38:22 +00:00
|
|
|
|
- job: nokia_rx51_test
|
|
|
|
|
displayName: 'Run tests for Nokia RX-51 (aka N900)'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
container:
|
|
|
|
|
image: $(ci_runner_image)
|
|
|
|
|
options: $(container_option)
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
./tools/buildman/buildman --fetch-arch arm
|
|
|
|
|
export PATH=~/.buildman-toolchains/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin/:$PATH
|
|
|
|
|
test/nokia_rx51_test.sh
|
|
|
|
|
|
2019-10-28 14:25:03 +00:00
|
|
|
|
- job: test_py
|
|
|
|
|
displayName: 'test.py'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
strategy:
|
|
|
|
|
matrix:
|
|
|
|
|
sandbox:
|
|
|
|
|
TEST_PY_BD: "sandbox"
|
2019-11-07 00:30:47 +00:00
|
|
|
|
sandbox_clang:
|
|
|
|
|
TEST_PY_BD: "sandbox"
|
2020-04-10 22:28:04 +00:00
|
|
|
|
OVERRIDE: "-O clang-10"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
sandbox_spl:
|
|
|
|
|
TEST_PY_BD: "sandbox_spl"
|
2020-10-26 02:38:36 +00:00
|
|
|
|
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
|
2021-03-15 04:25:34 +00:00
|
|
|
|
sandbox_noinst:
|
|
|
|
|
TEST_PY_BD: "sandbox_noinst"
|
|
|
|
|
TEST_PY_TEST_SPEC: "test_ofplatdata or test_handoff or test_spl"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
sandbox_flattree:
|
|
|
|
|
TEST_PY_BD: "sandbox_flattree"
|
|
|
|
|
evb_ast2500:
|
|
|
|
|
TEST_PY_BD: "evb-ast2500"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
integratorcp_cm926ejs:
|
|
|
|
|
TEST_PY_BD: "integratorcp_cm926ejs"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
qemu_arm:
|
|
|
|
|
TEST_PY_BD: "qemu_arm"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
qemu_arm64:
|
|
|
|
|
TEST_PY_BD: "qemu_arm64"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2020-06-06 20:21:47 +00:00
|
|
|
|
qemu_malta:
|
|
|
|
|
TEST_PY_BD: "malta"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
|
|
|
qemu_maltael:
|
|
|
|
|
TEST_PY_BD: "maltael"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
|
|
|
qemu_malta64:
|
|
|
|
|
TEST_PY_BD: "malta64"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
|
|
|
|
qemu_malta64el:
|
|
|
|
|
TEST_PY_BD: "malta64el"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep and not efi"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
qemu_ppce500:
|
|
|
|
|
TEST_PY_BD: "qemu-ppce500"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2020-03-28 14:25:27 +00:00
|
|
|
|
qemu_riscv32:
|
|
|
|
|
TEST_PY_BD: "qemu-riscv32"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
qemu_riscv64:
|
|
|
|
|
TEST_PY_BD: "qemu-riscv64"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2020-03-28 14:25:29 +00:00
|
|
|
|
qemu_riscv32_spl:
|
|
|
|
|
TEST_PY_BD: "qemu-riscv32_spl"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
qemu_riscv64_spl:
|
|
|
|
|
TEST_PY_BD: "qemu-riscv64_spl"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
qemu_x86:
|
|
|
|
|
TEST_PY_BD: "qemu-x86"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
qemu_x86_64:
|
|
|
|
|
TEST_PY_BD: "qemu-x86_64"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
2020-09-14 19:55:58 +00:00
|
|
|
|
r2dplus_i82557c:
|
|
|
|
|
TEST_PY_BD: "r2dplus"
|
|
|
|
|
TEST_PY_ID: "--id i82557c_qemu"
|
|
|
|
|
r2dplus_pcnet:
|
|
|
|
|
TEST_PY_BD: "r2dplus"
|
|
|
|
|
TEST_PY_ID: "--id pcnet_qemu"
|
|
|
|
|
r2dplus_rtl8139:
|
|
|
|
|
TEST_PY_BD: "r2dplus"
|
|
|
|
|
TEST_PY_ID: "--id rtl8139_qemu"
|
|
|
|
|
r2dplus_tulip:
|
|
|
|
|
TEST_PY_BD: "r2dplus"
|
|
|
|
|
TEST_PY_ID: "--id tulip_qemu"
|
2020-02-13 14:03:29 +00:00
|
|
|
|
xilinx_zynq_virt:
|
|
|
|
|
TEST_PY_BD: "xilinx_zynq_virt"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
xilinx_versal_virt:
|
|
|
|
|
TEST_PY_BD: "xilinx_versal_virt"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
xtfpga:
|
|
|
|
|
TEST_PY_BD: "xtfpga"
|
|
|
|
|
TEST_PY_ID: "--id qemu"
|
|
|
|
|
TEST_PY_TEST_SPEC: "not sleep"
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
cat << EOF > test.sh
|
|
|
|
|
set -ex
|
|
|
|
|
# make environment variables available as tests are running inside a container
|
|
|
|
|
export WORK_DIR="${WORK_DIR}"
|
|
|
|
|
export TEST_PY_BD="${TEST_PY_BD}"
|
|
|
|
|
export TEST_PY_ID="${TEST_PY_ID}"
|
|
|
|
|
export TEST_PY_TEST_SPEC="${TEST_PY_TEST_SPEC}"
|
2019-11-07 00:30:47 +00:00
|
|
|
|
export OVERRIDE="${OVERRIDE}"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
EOF
|
|
|
|
|
cat << "EOF" >> test.sh
|
|
|
|
|
# the below corresponds to .gitlab-ci.yml "before_script"
|
|
|
|
|
cd ${WORK_DIR}
|
2021-02-24 22:05:04 +00:00
|
|
|
|
git clone --depth=1 https://source.denx.de/u-boot/u-boot-test-hooks /tmp/uboot-test-hooks
|
2019-10-28 14:25:03 +00:00
|
|
|
|
ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
|
|
|
|
|
ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
|
|
|
|
|
grub-mkimage --prefix=\"\" -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
|
|
|
|
grub-mkimage --prefix=\"\" -o ~/grub_x64.efi -O x86_64-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
|
2020-03-28 14:25:29 +00:00
|
|
|
|
if [[ "${TEST_PY_BD}" == "qemu-riscv32_spl" ]]; then
|
2021-04-02 09:42:01 +00:00
|
|
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
|
|
|
export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/ilp32/generic/firmware/fw_dynamic.bin;
|
2020-03-28 14:25:29 +00:00
|
|
|
|
fi
|
|
|
|
|
if [[ "${TEST_PY_BD}" == "qemu-riscv64_spl" ]]; then
|
2021-04-02 09:42:01 +00:00
|
|
|
|
wget -O - https://github.com/riscv/opensbi/releases/download/v0.9/opensbi-0.9-rv-bin.tar.xz | tar -C /tmp -xJ;
|
|
|
|
|
export OPENSBI=/tmp/opensbi-0.9-rv-bin/share/opensbi/lp64/generic/firmware/fw_dynamic.bin;
|
2020-03-28 14:25:29 +00:00
|
|
|
|
fi
|
2019-10-28 14:25:03 +00:00
|
|
|
|
# the below corresponds to .gitlab-ci.yml "script"
|
|
|
|
|
cd ${WORK_DIR}
|
2020-03-18 15:42:55 +00:00
|
|
|
|
export UBOOT_TRAVIS_BUILD_DIR=/tmp/${TEST_PY_BD};
|
2020-03-18 15:43:00 +00:00
|
|
|
|
tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board ${TEST_PY_BD} ${OVERRIDE}
|
2020-07-13 22:40:19 +00:00
|
|
|
|
cp ~/grub_x86.efi ${UBOOT_TRAVIS_BUILD_DIR}/
|
|
|
|
|
cp ~/grub_x64.efi ${UBOOT_TRAVIS_BUILD_DIR}/
|
|
|
|
|
cp /opt/grub/grubriscv64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_riscv64.efi
|
|
|
|
|
cp /opt/grub/grubaa64.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm64.efi
|
|
|
|
|
cp /opt/grub/grubarm.efi ${UBOOT_TRAVIS_BUILD_DIR}/grub_arm.efi
|
2019-10-31 14:45:03 +00:00
|
|
|
|
virtualenv -p /usr/bin/python3 /tmp/venv
|
|
|
|
|
. /tmp/venv/bin/activate
|
|
|
|
|
pip install -r test/py/requirements.txt
|
2019-11-01 17:59:14 +00:00
|
|
|
|
export PATH=/opt/qemu/bin:/tmp/uboot-test-hooks/bin:${PATH};
|
2019-10-28 14:25:03 +00:00
|
|
|
|
export PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci;
|
2020-03-18 15:42:56 +00:00
|
|
|
|
# "${var:+"-k $var"}" expands to "" if $var is empty, "-k $var" if not
|
2020-07-10 20:04:40 +00:00
|
|
|
|
./test/py/test.py -ra --bd ${TEST_PY_BD} ${TEST_PY_ID} ${TEST_PY_TEST_SPEC:+"-k ${TEST_PY_TEST_SPEC}"} --build-dir "$UBOOT_TRAVIS_BUILD_DIR";
|
2019-10-28 14:25:03 +00:00
|
|
|
|
# the below corresponds to .gitlab-ci.yml "after_script"
|
2020-02-07 16:45:55 +00:00
|
|
|
|
rm -rf /tmp/uboot-test-hooks /tmp/venv
|
2019-10-28 14:25:03 +00:00
|
|
|
|
EOF
|
|
|
|
|
cat test.sh
|
|
|
|
|
# make current directory writeable to uboot user inside the container
|
|
|
|
|
# as sandbox testing need create files like spi flash images, etc.
|
|
|
|
|
# (TODO: clean up this in the future)
|
|
|
|
|
chmod 777 .
|
2021-06-21 18:51:56 +00:00
|
|
|
|
# Filesystem tests need extra docker args to run
|
|
|
|
|
set --
|
|
|
|
|
if [[ "${TEST_PY_BD}" == "sandbox" ]]; then
|
|
|
|
|
# mount -o loop needs the loop devices
|
|
|
|
|
if modprobe loop; then
|
|
|
|
|
for d in $(find /dev -maxdepth 1 -name 'loop*'); do
|
|
|
|
|
set -- "$@" --device $d:$d
|
|
|
|
|
done
|
|
|
|
|
fi
|
|
|
|
|
# Needed for mount syscall (for guestmount as well)
|
|
|
|
|
set -- "$@" --cap-add SYS_ADMIN
|
|
|
|
|
# Default apparmor profile denies mounts
|
|
|
|
|
set -- "$@" --security-opt apparmor=unconfined
|
|
|
|
|
fi
|
2021-06-21 18:51:55 +00:00
|
|
|
|
# Some tests using libguestfs-tools need the fuse device to run
|
2021-06-21 18:51:56 +00:00
|
|
|
|
docker run "$@" --device /dev/fuse:/dev/fuse -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/test.sh
|
2019-10-28 14:25:03 +00:00
|
|
|
|
|
|
|
|
|
- job: build_the_world
|
|
|
|
|
displayName: 'Build the World'
|
|
|
|
|
pool:
|
|
|
|
|
vmImage: $(ubuntu_vm)
|
|
|
|
|
strategy:
|
|
|
|
|
# Use almost the same target division in .travis.yml, only merged
|
|
|
|
|
# 4 small build jobs (arc/microblaze/nds32/xtensa) into one.
|
|
|
|
|
matrix:
|
|
|
|
|
arc_microblaze_nds32_xtensa:
|
|
|
|
|
BUILDMAN: "arc microblaze nds32 xtensa"
|
|
|
|
|
arm11_arm7_arm920t_arm946es:
|
|
|
|
|
BUILDMAN: "arm11 arm7 arm920t arm946es"
|
|
|
|
|
arm926ejs:
|
2021-07-08 11:50:08 +00:00
|
|
|
|
BUILDMAN: "arm926ejs -x freescale,siemens,at91,kirkwood,omap"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
at91_non_armv7:
|
|
|
|
|
BUILDMAN: "at91 -x armv7"
|
|
|
|
|
at91_non_arm926ejs:
|
|
|
|
|
BUILDMAN: "at91 -x arm926ejs"
|
|
|
|
|
boundary_engicam_toradex:
|
|
|
|
|
BUILDMAN: "boundary engicam toradex"
|
|
|
|
|
arm_bcm:
|
|
|
|
|
BUILDMAN: "bcm -x mips"
|
|
|
|
|
nxp_arm32:
|
2019-11-22 10:17:29 +00:00
|
|
|
|
BUILDMAN: "freescale -x powerpc,m68k,aarch64,ls101,ls102,ls104,ls108,ls20,lx216"
|
|
|
|
|
nxp_ls101x:
|
|
|
|
|
BUILDMAN: "freescale&ls101"
|
|
|
|
|
nxp_ls102x:
|
|
|
|
|
BUILDMAN: "freescale&ls102"
|
|
|
|
|
nxp_ls104x:
|
|
|
|
|
BUILDMAN: "freescale&ls104"
|
|
|
|
|
nxp_ls108x:
|
|
|
|
|
BUILDMAN: "freescale&ls108"
|
|
|
|
|
nxp_ls20xx:
|
|
|
|
|
BUILDMAN: "freescale&ls20"
|
|
|
|
|
nxp_lx216x:
|
|
|
|
|
BUILDMAN: "freescale&lx216"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
imx6:
|
|
|
|
|
BUILDMAN: "mx6 -x boundary,engicam,freescale,technexion,toradex"
|
|
|
|
|
imx:
|
|
|
|
|
BUILDMAN: "mx -x mx6,freescale,technexion,toradex"
|
|
|
|
|
keystone2_keystone3:
|
|
|
|
|
BUILDMAN: "k2 k3"
|
|
|
|
|
samsung_socfpga:
|
|
|
|
|
BUILDMAN: "samsung socfpga"
|
|
|
|
|
sun4i:
|
|
|
|
|
BUILDMAN: "sun4i"
|
|
|
|
|
sun5i:
|
|
|
|
|
BUILDMAN: "sun5i"
|
|
|
|
|
sun6i:
|
|
|
|
|
BUILDMAN: "sun6i"
|
|
|
|
|
sun7i:
|
|
|
|
|
BUILDMAN: "sun7i"
|
|
|
|
|
sun8i_32bit:
|
|
|
|
|
BUILDMAN: "sun8i&armv7"
|
|
|
|
|
sun8i_64bit:
|
|
|
|
|
BUILDMAN: "sun8i&aarch64"
|
|
|
|
|
sun9i:
|
|
|
|
|
BUILDMAN: "sun9i"
|
|
|
|
|
sun50i:
|
|
|
|
|
BUILDMAN: "sun50i"
|
|
|
|
|
arm_catch_all:
|
2021-02-15 15:52:19 +00:00
|
|
|
|
BUILDMAN: "arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,renesas,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,rk,toradex,socfpga,k2,k3,zynq"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
sandbox_x86:
|
|
|
|
|
BUILDMAN: "sandbox x86"
|
|
|
|
|
technexion:
|
|
|
|
|
BUILDMAN: "technexion"
|
|
|
|
|
kirkwood:
|
|
|
|
|
BUILDMAN: "kirkwood"
|
|
|
|
|
mvebu:
|
|
|
|
|
BUILDMAN: "mvebu"
|
|
|
|
|
m68k:
|
|
|
|
|
BUILDMAN: "m68k"
|
|
|
|
|
mips:
|
|
|
|
|
BUILDMAN: "mips"
|
|
|
|
|
non_fsl_ppc:
|
|
|
|
|
BUILDMAN: "powerpc -x freescale"
|
|
|
|
|
mpc85xx_freescale:
|
|
|
|
|
BUILDMAN: "mpc85xx&freescale -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x bsc91*"
|
|
|
|
|
t208xrdb_corenet_ds:
|
|
|
|
|
BUILDMAN: "t208xrdb corenet_ds"
|
|
|
|
|
fsl_ppc:
|
2021-05-15 01:34:26 +00:00
|
|
|
|
BUILDMAN: "t4qds b4860qds mpc83xx&freescale"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
t102x:
|
|
|
|
|
BUILDMAN: "t102*"
|
|
|
|
|
p1_p2_rdb_pc:
|
|
|
|
|
BUILDMAN: "p1_p2_rdb_pc"
|
|
|
|
|
p1010rdb_bsc91:
|
|
|
|
|
BUILDMAN: "p1010rdb bsc91"
|
|
|
|
|
siemens:
|
|
|
|
|
BUILDMAN: "siemens"
|
|
|
|
|
tegra:
|
|
|
|
|
BUILDMAN: "tegra -x toradex"
|
|
|
|
|
am33xx_no_siemens:
|
|
|
|
|
BUILDMAN: "am33xx -x siemens"
|
|
|
|
|
omap:
|
|
|
|
|
BUILDMAN: "omap"
|
|
|
|
|
uniphier:
|
|
|
|
|
BUILDMAN: "uniphier"
|
|
|
|
|
aarch64_catch_all:
|
2021-02-15 15:52:19 +00:00
|
|
|
|
BUILDMAN: "aarch64 -x bcm,k3,tegra,ls1,ls2,lx216,mvebu,uniphier,renesas,sunxi,samsung,socfpga,rk,versal,zynq"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
rockchip:
|
2020-03-09 17:01:57 +00:00
|
|
|
|
BUILDMAN: "rk"
|
2021-02-15 15:52:19 +00:00
|
|
|
|
renesas:
|
|
|
|
|
BUILDMAN: "renesas"
|
2019-10-28 14:25:03 +00:00
|
|
|
|
zynq:
|
|
|
|
|
BUILDMAN: "zynq&armv7"
|
|
|
|
|
zynqmp_versal:
|
|
|
|
|
BUILDMAN: "versal|zynqmp&aarch64"
|
|
|
|
|
riscv:
|
|
|
|
|
BUILDMAN: "riscv"
|
|
|
|
|
steps:
|
|
|
|
|
- script: |
|
|
|
|
|
cat << EOF > build.sh
|
|
|
|
|
set -ex
|
|
|
|
|
cd ${WORK_DIR}
|
|
|
|
|
# make environment variables available as tests are running inside a container
|
|
|
|
|
export BUILDMAN="${BUILDMAN}"
|
|
|
|
|
EOF
|
|
|
|
|
cat << "EOF" >> build.sh
|
|
|
|
|
if [[ "${BUILDMAN}" != "" ]]; then
|
|
|
|
|
ret=0;
|
2021-01-31 08:38:35 +00:00
|
|
|
|
tools/buildman/buildman -o /tmp -P -E -W ${BUILDMAN} ${OVERRIDE} || ret=$?;
|
2020-03-18 15:42:57 +00:00
|
|
|
|
if [[ $ret -ne 0 ]]; then
|
2020-03-18 15:42:53 +00:00
|
|
|
|
tools/buildman/buildman -o /tmp -seP ${BUILDMAN};
|
2019-10-28 14:25:03 +00:00
|
|
|
|
exit $ret;
|
|
|
|
|
fi;
|
|
|
|
|
fi
|
|
|
|
|
EOF
|
|
|
|
|
cat build.sh
|
|
|
|
|
docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
|