65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
name: Build
|
|
|
|
on: [pull_request, push]
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
board:
|
|
# Alphabetical order
|
|
- 'metro_m0'
|
|
- 'hallowing'
|
|
- 'circuitplayground_m0'
|
|
- 'metro_m4'
|
|
- 'pybadge_m4'
|
|
- 'pygamer_m4'
|
|
- 'hallowing_m4'
|
|
- 'pyportal_m4'
|
|
- 'pyportal_m4_titano'
|
|
- 'feather_m4_can'
|
|
- 'metro_m0:usbstack=tinyusb'
|
|
- 'metro_m4:speed=120,usbstack=tinyusb'
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Setup Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.x'
|
|
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
with:
|
|
submodules: 'true'
|
|
|
|
- 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
|
|
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 "Adafruit NeoPixel" "Adafruit seesaw Library" "Adafruit SPIFlash" "FlashStorage" "MIDI Library" "SD" "SdFat - Adafruit Fork"
|
|
|
|
- name: Build examples
|
|
run: python3 tools/build_all.py ${{ matrix.board }}
|