name: BTClock CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: write

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: lts/*
          cache: yarn
          cache-dependency-path: '**/yarn.lock'
      - uses: actions/cache@v3
        with:
          path: |
            ~/.cache/pip
            ~/.platformio/.cache
          key: ${{ runner.os }}-pio
      - uses: actions/setup-python@v4
        with:
          python-version: '3.9'
      - name: Install PlatformIO Core
        run: pip install --upgrade platformio

      - name: Build BTClock firmware
        run: pio run -e esp32wemos-s3-mini_BW 

      - name: Build BTClock filesystem
        run: pio run -e esp32wemos-s3-mini_BW --target buildfs
      - name: Upload artifacts
        uses: actions/upload-artifact@v3
        with:
          path: |
            .pio/build/esp32wemos-s3-mini_BW/*.bin

      - name: Create release
        uses: ncipollo/release-action@v1
        with:
          artifacts: "*.bin"