name: Build ESP32-S3

on:
  workflow_call:
    inputs:
      board:
        required: true
        type: string

permissions: read-all

jobs:
  build-esp32-s3:
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v4

      - name: Get release version string
        shell: bash
        run: echo "long=$(./bin/buildinfo.py long)" >> $GITHUB_OUTPUT
        id: version

      - name: Build ESP32-S3
        id: build
        uses: meshtastic/gh-action-firmware@main
        with:
          pio_platform: esp32
          pio_env: ${{ inputs.board }}
          pio_target: build
          ota_firmware_source: firmware-s3.bin
          ota_firmware_target: release/bleota-s3.bin

      - name: Store binaries as an artifact
        uses: actions/upload-artifact@v4
        with:
          name: firmware-esp32s3-${{ inputs.board }}-${{ steps.version.outputs.long }}.zip
          overwrite: true
          path: |
            release/*.bin
            release/*.elf
