mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-02-06 03:13:00 +08:00
I updated all versions to the newest one that's used anywhere. Then at least the straing can be found with full text search. It's another step towards understanding and unifying the CI environment.
68 lines
2.1 KiB
Bash
Executable File
68 lines
2.1 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
if [ -z ${PX4_DOCKER_REPO+x} ]; then
|
|
echo "guessing PX4_DOCKER_REPO based on input";
|
|
if [[ $@ =~ .*px4_fmu.* ]]; then
|
|
# nuttx-px4fmu-v{1,2,3,4,5}
|
|
PX4_DOCKER_REPO="px4io/px4-dev-nuttx-focal:2022-08-12"
|
|
elif [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*beaglebone.* ]] || [[ $@ =~ .*pilotpi.default ]]; then
|
|
# beaglebone_blue_default, emlid_navio2_default, px4_raspberrypi_default, scumaker_pilotpi_default
|
|
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2023-06-26"
|
|
elif [[ $@ =~ .*pilotpi.arm64 ]]; then
|
|
# scumaker_pilotpi_arm64
|
|
PX4_DOCKER_REPO="px4io/px4-dev-aarch64:2022-08-12"
|
|
elif [[ $@ =~ .*navio2.* ]] || [[ $@ =~ .*raspberry.* ]] || [[ $@ =~ .*bebop.* ]]; then
|
|
# posix_rpi_cross, posix_bebop_default
|
|
PX4_DOCKER_REPO="px4io/px4-dev-armhf:2023-06-26"
|
|
elif [[ $@ =~ .*clang.* ]] || [[ $@ =~ .*scan-build.* ]]; then
|
|
# clang tools
|
|
PX4_DOCKER_REPO="px4io/px4-dev-clang:2021-02-04"
|
|
elif [[ $@ =~ .*tests* ]]; then
|
|
# run all tests with simulation
|
|
PX4_DOCKER_REPO="px4io/px4-dev-simulation-bionic:2021-12-11"
|
|
fi
|
|
else
|
|
echo "PX4_DOCKER_REPO is set to '$PX4_DOCKER_REPO'";
|
|
fi
|
|
|
|
# otherwise default to nuttx
|
|
if [ -z ${PX4_DOCKER_REPO+x} ]; then
|
|
PX4_DOCKER_REPO="px4io/px4-dev-nuttx-focal:2022-08-12"
|
|
fi
|
|
|
|
# docker hygiene
|
|
|
|
#Delete all stopped containers (including data-only containers)
|
|
#docker rm $(docker ps -a -q)
|
|
|
|
#Delete all 'untagged/dangling' (<none>) images
|
|
#docker rmi $(docker images -q -f dangling=true)
|
|
|
|
echo "PX4_DOCKER_REPO: $PX4_DOCKER_REPO";
|
|
|
|
PWD=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
|
SRC_DIR=$PWD/../
|
|
|
|
CCACHE_DIR=${HOME}/.ccache
|
|
mkdir -p "${CCACHE_DIR}"
|
|
|
|
docker run -it --rm -w "${SRC_DIR}" \
|
|
--env=AWS_ACCESS_KEY_ID \
|
|
--env=AWS_SECRET_ACCESS_KEY \
|
|
--env=BRANCH_NAME \
|
|
--env=CCACHE_DIR="${CCACHE_DIR}" \
|
|
--env=CI \
|
|
--env=CODECOV_TOKEN \
|
|
--env=COVERALLS_REPO_TOKEN \
|
|
--env=LOCAL_USER_ID="$(id -u)" \
|
|
--env=PX4_ASAN \
|
|
--env=PX4_MSAN \
|
|
--env=PX4_TSAN \
|
|
--env=PX4_UBSAN \
|
|
--env=TRAVIS_BRANCH \
|
|
--env=TRAVIS_BUILD_ID \
|
|
--publish 14556:14556/udp \
|
|
--volume=${CCACHE_DIR}:${CCACHE_DIR}:rw \
|
|
--volume=${SRC_DIR}:${SRC_DIR}:rw \
|
|
${PX4_DOCKER_REPO} /bin/bash -c "$1 $2 $3"
|