name: Build on: push: pull_request: schedule: - cron: "0 0 * * *" permissions: contents: read jobs: build: name: Build app and tests strategy: fail-fast: false matrix: os: [ubuntu-22.04, macos-14, windows-2022] runs-on: ${{ matrix.os }} steps: - name: Checkout uses: actions/checkout@v4 with: path: example-application persist-credentials: false - name: Set up Python uses: actions/setup-python@v5 with: python-version: 3.12 - name: Setup Zephyr project uses: zephyrproject-rtos/action-zephyr-setup@v1 with: app-path: example-application toolchains: arm-zephyr-eabi ccache-cache-key: ${{ matrix.os }} - name: Build firmware working-directory: example-application 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: Twister Tests working-directory: example-application 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