CI #1787
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
# CI jobs | |
name: CI | |
# Controls when the action will run. Triggers the workflow on push or pull request | |
# events but only for the master branch | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
schedule: | |
# Weekly build to make sure dependencies are OK | |
- cron: '30 16 * * 1' | |
permissions: | |
contents: read | |
jobs: | |
read_targets_from_file: | |
uses: bitcraze/workflows/.github/workflows/read_build_targets.yml@dfbc8c23a8ec6d4925d01deb20277839ad1235f1 | |
with: | |
target_file: './build_targets.json' | |
basic_build: | |
needs: read_targets_from_file | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
${{fromJson(needs.read_targets_from_file.outputs.platforms)}} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: docker run --rm -v ${PWD}:/module bitcraze/builder bash -c "make ${{ matrix.platform }}_defconfig && ./tools/build/build UNIT_TEST_STYLE=min" | |
- name: Upload Build Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.platform }}-${{ github.sha }} | |
path: | | |
build/${{ matrix.platform }}.bin | |
build/${{ matrix.platform }}.elf | |
features: | |
runs-on: ubuntu-latest | |
needs: basic_build | |
strategy: | |
fail-fast: false | |
matrix: | |
features: | |
# Build cf2 with bosch sensors | |
- bosch.conf | |
# Build cf2 with TDMA | |
- loco_tdma.conf | |
# Build cf2 with TDOA2 positioning mode | |
- loco_tdoa2.conf | |
#- LPS_TDOA_ENABLE=1 | |
# Build cf2 with TDOA3 positioning mode | |
- loco_tdoa3.conf | |
#- LPS_TDOA3_ENABLE=1 | |
# Build cf2 with TDOA3 and all config options | |
- loco_tdoa3_all.conf | |
# Build Bigquad deck with all config options | |
- bigquad.conf | |
# Build API test app layer app | |
- app_api.conf | |
env: | |
CONF: ${{ matrix.features }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: docker run --rm -v ${PWD}:/module bitcraze/builder bash -c "./scripts/kconfig/merge_config.sh configs/${CONF} configs/defconfig && ./tools/build/build UNIT_TEST_STYLE=min" | |
apps: | |
runs-on: ubuntu-latest | |
needs: basic_build | |
strategy: | |
fail-fast: false | |
matrix: | |
example: | |
- examples/app_hello_world | |
- examples/app_hello_world-cpp | |
- examples/app_hello_file_tree | |
- examples/app_peer_to_peer | |
- examples/app_p2p_DTR | |
- examples/app_stm_gap8_cpx | |
- examples/demos/app_push_demo | |
- examples/demos/swarm_demo | |
- examples/demos/app_wall_following_demo | |
env: | |
EXAMPLE: ${{ matrix.example }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: docker run --rm -v ${PWD}:/module bitcraze/builder bash -c "./tools/build/make_app ${EXAMPLE}" | |
kbuild-targets: | |
runs-on: ubuntu-latest | |
needs: basic_build | |
strategy: | |
fail-fast: false | |
matrix: | |
target: | |
- allyesconfig | |
- allnoconfig | |
- randconfig | |
env: | |
TARGET: ${{ matrix.target }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: docker run --rm -v ${PWD}:/module bitcraze/builder bash -c "KCONFIG_ALLCONFIG=configs/all.config make ${TARGET} && ./tools/build/build UNIT_TEST_STYLE=min" |