1 changed files with 119 additions and 0 deletions
@ -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 |
Loading…
Reference in new issue