name: 'pre-release'

on:
  workflow_dispatch:
  push:
    branches:
      - 'dev'

jobs:
  pre-release:
    name: 'Automatic pre-release build'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Enable Corepack
        run: corepack enable
        
      - name: Install python 3.11
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install Node.js 20
        uses: actions/setup-node@v4
        with:
          node-version: '20.x'

      - name: Get EMS-ESP version
        id: build_info
        run: |
          version=`grep -E '^#define EMSESP_APP_VERSION' ./src/version.h | awk -F'"' '{print $2}'`
          echo "VERSION=$version" >> $GITHUB_OUTPUT

      - name: Install PlatformIO
        run: |
          python -m pip install --upgrade pip
          pip install -U platformio

      - name: Build WebUI
        run: |
          cd interface
          yarn install
          yarn typesafe-i18n --no-watch
          sed -i "s/= 'pl'/= 'en'/" ./src/i18n/i18n-util.ts
          yarn build
          yarn webUI

      - name: Build all PIO target environments from default_envs
        run: |
          platformio run

      - name: Create GitHub Release
        id: 'automatic_releases'
        uses: emsesp/action-automatic-releases@v1.0.0
        with:
          repo_token: '${{ secrets.GITHUB_TOKEN }}'
          title: Development Build v${{steps.build_info.outputs.VERSION}}
          automatic_release_tag: 'latest'
          prerelease: true
          files: |
            CHANGELOG_LATEST.md
            ./build/firmware/*.*
