From 9a2df7c15993d276700c22b7df106c96e13f4ef1 Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Mon, 4 Oct 2021 16:51:28 +0200 Subject: [PATCH] .github: test dev environment scripts --- .github/workflows/test_environment.yml | 119 +++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 .github/workflows/test_environment.yml diff --git a/.github/workflows/test_environment.yml b/.github/workflows/test_environment.yml new file mode 100644 index 0000000000..caeef149b7 --- /dev/null +++ b/.github/workflows/test_environment.yml @@ -0,0 +1,119 @@ +name: test environment setup +on: + workflow_dispatch: + schedule: + - cron: '0 0 * * 6' # every saturday at midnight + + +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: ubuntu + name: xenial + - 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 + 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 + ./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 + ./waf configure --board CubeOrange + ./waf plane