Skip to content

Build

Build #1060

Workflow file for this run

name: Build
on:
push:
pull_request:
schedule:
- cron: "0 2 * * *"
permissions:
contents: read
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, macos-15, windows-2022]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
path: cannectivity
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.12
- name: Setup Zephyr project
uses: zephyrproject-rtos/action-zephyr-setup@v1
with:
app-path: cannectivity
toolchains: arm-zephyr-eabi
ccache-cache-key: ${{ matrix.os }}
- name: Build firmware
working-directory: cannectivity
shell: bash
run: |
if [ "${{ runner.os }}" = "Windows" ]; then
EXTRA_TWISTER_FLAGS="--short-build-path -O/tmp/twister-out"
fi
west twister -T app -v --inline-logs --integration $EXTRA_TWISTER_FLAGS
- name: Run firmware tests
working-directory: cannectivity
if: startsWith(runner.os, 'Linux')
shell: bash
run: |
# Limit to one concurrent instance as the USBIP port is reused between instances
west twister -T app -v --inline-logs --platform native_sim/native/64 -j1
- name: Run tests
working-directory: cannectivity
shell: bash
run: |
if [ "${{ runner.os }}" = "Windows" ]; then
EXTRA_TWISTER_FLAGS="--short-build-path -O/tmp/twister-out"
fi
west twister -T tests -v --inline-logs --integration $EXTRA_TWISTER_FLAGS
- name: Print ccache stats
if: runner.os != 'Windows'
run: |
ccache -s -vv