135 lines
3.7 KiB
YAML
135 lines
3.7 KiB
YAML
name: Build
|
|
|
|
on: [pull_request, push, repository_dispatch]
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
ARDUINO_LIBS: "\"Adafruit SPIFlash\" \"Adafruit seesaw Library\" \"Adafruit NeoPixel\" \"Adafruit Circuit Playground\" \"Adafruit InternalFlash\" \"SdFat - Adafruit Fork\" \"SD\" \"MIDI Library\" \"Pico PIO USB\""
|
|
|
|
jobs:
|
|
pre-commit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Run pre-commit
|
|
uses: pre-commit/action@v3.0.1
|
|
|
|
- name: Checkout adafruit/ci-arduino
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: adafruit/ci-arduino
|
|
path: ci
|
|
|
|
- name: pre-install
|
|
run: bash ci/actions_install.sh
|
|
|
|
# - name: clang
|
|
# run: python3 ci/run-clang-format.py -r src/arduino
|
|
|
|
- name: doxygen
|
|
env:
|
|
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
|
|
PRETTYNAME : "Adafruit TinyUSB Library"
|
|
run: bash ci/doxy_gen_and_deploy.sh
|
|
|
|
# ---------------------------------------
|
|
# Main
|
|
# ---------------------------------------
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
needs: pre-commit
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
arduino-platform:
|
|
# ESP32 ci use dev json
|
|
- 'feather_esp32s2'
|
|
- 'feather_esp32s3'
|
|
- 'esp32p4'
|
|
# nRF52
|
|
- 'cpb'
|
|
- 'nrf52840'
|
|
# RP2040
|
|
- 'feather_rp2040_tinyusb'
|
|
- 'pico_rp2040_tinyusb_host'
|
|
# SAMD
|
|
- 'metro_m0_tinyusb'
|
|
- 'metro_m4_tinyusb'
|
|
# Ch32v2
|
|
- 'CH32V20x_EVT'
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Checkout adafruit/ci-arduino
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: adafruit/ci-arduino
|
|
ref: add-esp32p4
|
|
path: ci
|
|
|
|
- name: pre-install
|
|
run: bash ci/actions_install.sh
|
|
|
|
- name: Install Libraries
|
|
run: |
|
|
arduino-cli lib install ${{ env.ARDUINO_LIBS }}
|
|
arduino-cli lib list
|
|
|
|
- name: test platforms
|
|
run: python3 ci/build_platform.py ${{ matrix.arduino-platform }}
|
|
|
|
# ---------------------------------------
|
|
# Build ESP32 v2
|
|
# ---------------------------------------
|
|
build-esp32-v2:
|
|
if: false
|
|
runs-on: ubuntu-latest
|
|
needs: pre-commit
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
arduino-platform:
|
|
- 'feather_esp32s2'
|
|
- 'feather_esp32s3'
|
|
esp32-version:
|
|
- '2.0.17'
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Checkout adafruit/ci-arduino
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: adafruit/ci-arduino
|
|
path: ci
|
|
|
|
- name: pre-install
|
|
run: bash ci/actions_install.sh
|
|
|
|
- name: Install arduino-esp32 v2 and Libraries
|
|
env:
|
|
BSP_URLS: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
|
|
run: |
|
|
arduino-cli core install esp32:esp32@${{ matrix.esp32-version }} --additional-urls $BSP_URLS
|
|
arduino-cli lib install ${{ env.ARDUINO_LIBS }}
|
|
arduino-cli core list
|
|
arduino-cli lib list
|
|
|
|
- name: Create custom build script
|
|
working-directory: ${{ github.workspace }}/ci
|
|
run: |
|
|
echo 'import build_platform' > build_esp32_v2.py
|
|
echo 'build_platform.test_examples_in_folder("'${{ matrix.arduino-platform }}'", build_platform.BUILD_DIR)' >> build_esp32_v2.py
|
|
echo 'exit(build_platform.success)' >> build_esp32_v2.py
|
|
cat build_esp32_v2.py
|
|
|
|
- name: test platforms
|
|
run: |
|
|
python3 ci/build_esp32_v2.py
|