63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
name: Build
|
|
|
|
on: [pull_request, push]
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
arduino-platform: ['metro_m0', 'hallowing', 'circuitplayground_m0',
|
|
'metro_m4', 'pybadge_m4', 'pygamer_m4', 'hallowing_m4', 'pyportal_m4', 'pyportal_m4_titano']
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v1
|
|
with:
|
|
python-version: '3.x'
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Checkout submodules
|
|
shell: bash
|
|
run: |
|
|
auth_header="$(git config --local --get http.https://github.com/.extraheader)"
|
|
git submodule sync --recursive
|
|
git -c "http.extraheader=$auth_header" -c protocol.version=2 submodule update --init --force --recursive
|
|
|
|
- name: Install Arduino CLI and Tools
|
|
run: |
|
|
# make all our directories we need for files and libraries
|
|
mkdir $HOME/.arduino15
|
|
mkdir $HOME/.arduino15/packages
|
|
mkdir $HOME/Arduino
|
|
mkdir $HOME/Arduino/libraries
|
|
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh
|
|
echo "$GITHUB_WORKSPACE/bin" >> $GITHUB_PATH
|
|
|
|
- name: Install BSP and Libraries
|
|
env:
|
|
BSP_URL: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
|
|
BSP_PATH: .arduino15/packages/adafruit/hardware/samd
|
|
LIB_DEPS: FlashStorage SD
|
|
run: |
|
|
arduino-cli config init
|
|
arduino-cli core update-index
|
|
arduino-cli core update-index --additional-urls $BSP_URL
|
|
arduino-cli core install arduino:samd --additional-urls $BSP_URL
|
|
arduino-cli core install adafruit:samd --additional-urls $BSP_URL
|
|
# Replace release BSP with our code
|
|
BSP_VERSION=`eval ls $HOME/$BSP_PATH`
|
|
rm -r $HOME/$BSP_PATH/*
|
|
ln -s $GITHUB_WORKSPACE $HOME/$BSP_PATH/$BSP_VERSION
|
|
arduino-cli lib install $LIB_DEPS
|
|
|
|
- name: Build examples
|
|
run: python3 extras/build_all.py ${{ matrix.arduino-platform }}
|
|
|
|
# How to mark this as allowed-to-fail?
|
|
- name: Build examples (-Wall)
|
|
run: python3 extras/build_all.py --all_warnings --warnings_do_not_cause_job_failure
|