name: Firmware simulation
on:
  push:
    branches: [main]
  workflow_dispatch:
permissions:
  contents: read
jobs:
  firmware:
    runs-on: ubuntu-latest
    timeout-minutes: 5
    defaults:
      run:
        working-directory: firmware-ci
    steps:
      - uses: actions/checkout@v6
      - uses: actions/setup-node@v7
        with:
          node-version: '22'
      - run: sudo apt-get update && sudo apt-get install -y gcc-arm-none-eabi
      - run: npm ci
      - run: make
      - run: node test-firmware.mjs
        env:
          SIM86_API_KEY: ${{ secrets.SIM86_API_KEY }}
          SIM86_PROJECT_ID: ${{ vars.SIM86_PROJECT_ID }}
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: firmware-simulation
          path: firmware-ci/artifacts/
          if-no-files-found: warn
