Skip to content

Rework watchdogs, FOTA, and centralize connectivity to main #245

Rework watchdogs, FOTA, and centralize connectivity to main

Rework watchdogs, FOTA, and centralize connectivity to main #245

Workflow file for this run

name: Build
on:
workflow_call:
inputs:
firmware_version:
description: Semver written to each application VERSION file before building
required: false
type: string
workflow_dispatch:
inputs:
firmware_version:
description: Semver written to each application VERSION file before building
required: false
type: string
pull_request:
permissions:
contents: read
concurrency:
group: build-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
cleanup:
runs-on: self-hosted
steps:
- name: Prune old Docker resources
run: docker system prune --force --filter "until=48h"
- name: Remove stale runner temp entries
run: |
# GitHub Actions stores per-job temp files under _work/_temp.
runner_temp_root="$(dirname "${RUNNER_TEMP}")"
find "$runner_temp_root" -mindepth 1 -maxdepth 1 -mmin +2880 \
! -path "$RUNNER_TEMP" \
-exec rm -rf {} + 2>/dev/null || true
build:
needs: cleanup
runs-on: self-hosted
container: ghcr.io/zephyrproject-rtos/ci:v0.29.2
env:
CMAKE_PREFIX_PATH: /opt/toolchains
strategy:
fail-fast: false
matrix:
include:
- app: 91m1_ppp
board: nrf54l15dk/nrf54l15/cpuapp/ns
- app: 93m1_ppp
board: nrf93m1dk/nrf54l15/cpuapp/ns
- app: 93m1_at
board: nrf93m1dk/nrf54l15/cpuapp/ns
name: Build ${{ matrix.app }} (${{ matrix.board }})
steps:
- name: Checkout
uses: actions/checkout@v6
with:
path: serial-modem-host-applications
- name: Set application VERSION files
if: inputs.firmware_version != ''
working-directory: serial-modem-host-applications
run: |
python3 scripts/ci/write_version.py \
"${{ inputs.firmware_version }}" \
applications
- name: Initialize West workspace
uses: ./serial-modem-host-applications/.github/actions/west-init
- name: Build application
working-directory: serial-modem-host-applications/applications/${{ matrix.app }}
run: west build -b ${{ matrix.board }} -p
- name: Upload firmware artifact
uses: actions/upload-artifact@v7
with:
name: firmware-${{ matrix.app }}
path: serial-modem-host-applications/applications/${{ matrix.app }}/build/
include-hidden-files: true
retention-days: 14