You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
4.0 KiB
126 lines
4.0 KiB
name: test environment setup |
|
on: |
|
schedule: |
|
- cron: '0 0 * * 6' # every saturday at midnight |
|
workflow_dispatch: |
|
|
|
|
|
concurrency: |
|
group: ci-${{github.workflow}}-${{ github.ref }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
build: |
|
runs-on: ubuntu-20.04 |
|
container: |
|
image: ${{matrix.os}}:${{matrix.name}} |
|
options: --privileged |
|
strategy: |
|
fail-fast: false # don't cancel if a job from the matrix fails |
|
matrix: |
|
include: |
|
- os: ubuntu |
|
name: bionic |
|
- os: ubuntu |
|
name: focal |
|
- os: ubuntu |
|
name: hirsute |
|
- os: archlinux |
|
name: latest |
|
- os: debian |
|
name: bullseye |
|
- os: debian |
|
name: buster |
|
steps: |
|
- name: Install Git |
|
timeout-minutes: 30 |
|
env: |
|
DEBIAN_FRONTEND: noninteractive |
|
TZ: Europe/Paris |
|
shell: 'script -q -e -c "bash {0}"' |
|
run: | |
|
case ${{matrix.os}} in |
|
*"ubuntu"*) |
|
apt-get update && apt-get install --no-install-recommends -qy \ |
|
lsb-release \ |
|
sudo \ |
|
git \ |
|
software-properties-common |
|
add-apt-repository ppa:git-core/ppa -y |
|
apt-get update && apt-get install --no-install-recommends -qy git |
|
;; |
|
*"debian"*) |
|
apt-get update && apt-get install --no-install-recommends -qy \ |
|
lsb-release \ |
|
sudo \ |
|
git \ |
|
software-properties-common |
|
;; |
|
*"archlinux"*) |
|
pacman -Sy --noconfirm --needed git sudo |
|
;; |
|
esac |
|
|
|
# git checkout the PR |
|
- uses: actions/checkout@v2 |
|
with: |
|
submodules: 'recursive' |
|
- name: test install environment ${{matrix.os}}.${{matrix.name}} |
|
timeout-minutes: 30 |
|
env: |
|
DISABLE_MAVNATIVE: True |
|
DEBIAN_FRONTEND: noninteractive |
|
TZ: Europe/Paris |
|
SKIP_AP_GIT_CHECK: 1 |
|
shell: 'script -q -e -c "bash {0}"' |
|
run: | |
|
PATH="/github/home/.local/bin:$PATH" |
|
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone |
|
sed -i 's/\$EUID/\$ID/' Tools/environment_install/install-prereqs-ubuntu.sh |
|
sed -i 's/sudo usermod/\#sudo usermod/' Tools/environment_install/install-prereqs-ubuntu.sh |
|
sed -i 's/sudo usermod/\#sudo usermod/' Tools/environment_install/install-prereqs-arch.sh |
|
case ${{matrix.os}} in |
|
*"ubuntu"*) |
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections |
|
Tools/environment_install/install-prereqs-ubuntu.sh -qy |
|
;; |
|
*"debian"*) |
|
Tools/environment_install/install-prereqs-ubuntu.sh -qy |
|
;; |
|
*"archlinux"*) |
|
cp /etc/skel/.bashrc /root |
|
cp /etc/skel/.bashrc /github/home |
|
git config --global --add safe.directory /__w/ardupilot/ardupilot |
|
Tools/environment_install/install-prereqs-arch.sh -qy |
|
;; |
|
esac |
|
|
|
- name: test build STIL ${{matrix.os}}.${{matrix.name}} |
|
env: |
|
DISABLE_MAVNATIVE: True |
|
DEBIAN_FRONTEND: noninteractive |
|
TZ: Europe/Paris |
|
shell: 'script -q -e -c "bash {0}"' |
|
run: | |
|
source ~/.bashrc |
|
git config --global --add safe.directory /__w/ardupilot/ardupilot |
|
./waf configure |
|
./waf rover |
|
|
|
- name: test build Chibios ${{matrix.os}}.${{matrix.name}} |
|
env: |
|
DISABLE_MAVNATIVE: True |
|
DEBIAN_FRONTEND: noninteractive |
|
TZ: Europe/Paris |
|
shell: 'script -q -e -c "bash {0}"' |
|
run: | |
|
source ~/.bashrc |
|
case ${{matrix.os}} in |
|
*"archlinux"*) |
|
export PATH=/opt/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH |
|
export PATH=/__w/ardupilot/ardupilot/ardupilot/Tools/autotest:$PATH |
|
;; |
|
esac |
|
git config --global --add safe.directory /__w/ardupilot/ardupilot |
|
./waf configure --board CubeOrange |
|
./waf plane
|
|
|