Build more examples from NimBLE-Arduino #87
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Examples | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build_arduino: | |
strategy: | |
fail-fast: true | |
matrix: | |
example: | |
- "libraries/n-able/examples/FreeRTOS" | |
- "libraries/n-able/examples/BLE_Advertiser" | |
- "libraries/n-able/examples/BLE_Scan" | |
variant: | |
- Generic_nRF51822:chip=xxaa | |
- Generic_nRF52832 | |
- Generic_nRF52833 | |
- Generic_nRF52840 | |
- feather52840 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: Install utils | |
run: | | |
python -m pip install --upgrade pip | |
pip install adafruit-nrfutil | |
- name: Build n-able Arduino | |
uses: arduino/compile-sketches@v1 | |
with: | |
cli-version: latest | |
platforms: | | |
- name: "h2zero:arm-ble" | |
source-url: "https://h2zero.github.io/n-able-Arduino/package_n-able_boards_index.json" | |
version: latest | |
- name: "h2zero:arm-ble" | |
source-path: . | |
libraries: | | |
- name: NimBLE-Arduino | |
fqbn: "h2zero:arm-ble:${{ matrix.variant }}" | |
sketch-paths: ${{ matrix.example }} | |
build_pio: | |
strategy: | |
fail-fast: false | |
matrix: | |
example: | |
- "example/lib/examples/Bluetooth_5/NimBLE_extended_server" | |
- "example/lib/examples/NimBLE_Server" | |
- "example/lib/examples/NimBLE_Client" | |
variant: | |
- generic_nrf51822_xxaa | |
- generic_nrf52832 | |
- generic_nrf52833 | |
- generic_nrf52840 | |
- adafruit_feather_nrf52840 | |
nimble_version: | |
- release/1.4 | |
- master | |
include: | |
- example: "example/lib/examples/Bluetooth_5/NimBLE_extended_server" | |
flags: build_flags = '-DCONFIG_BT_NIMBLE_EXT_ADV=1' | |
- variant: adafruit_feather_nrf52840 | |
bootloader: board_bootloader = adafruit | |
exclude: | |
- example: "example/lib/examples/Bluetooth_5/NimBLE_extended_server" | |
variant: | |
generic_nrf51822_xxaa | |
generic_nrf52832 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Make build folders | |
run: | | |
mkdir -p example/framework | |
mkdir example/src | |
mkdir example/lib | |
- name: Checkout n-able-arduino | |
uses: actions/checkout@v4 | |
with: | |
path: example/framework | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.x" | |
- name: Install platformio | |
run: | | |
python -m pip install --upgrade pip | |
pip install platformio | |
- name: Checkout NimBLE_Arduino | |
uses: actions/checkout@v4 | |
with: | |
repository: h2zero/NimBLE-Arduino | |
ref: ${{ matrix.nimble_version }} | |
path: example/lib | |
- name: Build n-able PIO | |
run: | | |
cat > example/platformio.ini << EOF | |
[env] | |
platform = https://github.com/h2zero/platform-n-able.git#1.0.0 | |
platform_packages = framework-n-able-arduino @ file://./framework | |
framework = arduino | |
${{ matrix.flags }} | |
${{ matrix.bootloader }} | |
[env:${{ matrix.variant }}] | |
board = ${{ matrix.variant }} | |
EOF | |
cp ${{ matrix.example }}/* example/src/ | |
platformio run -d example |