name: Build_firmware

on:
  push:
    branches: development

jobs:
  tasmota_pull:
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1 
    - name: Use latest Tasmota development
      run: | 
        git config --local user.name "Platformio BUILD"
        git switch -c master
        git remote add -f Tasmota "https://github.com/arendst/Tasmota.git"
        git merge Tasmota/development --allow-unrelated-histories          
    - name: Push Tasmota   # Push updates of latest Tasmota development to repo
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        branch: 'development'
        force: true


  tasmota:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-minimal:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-minimal
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-lite:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-lite
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-knx:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-knx
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-sensors:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-sensors
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-display:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-display
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-ir:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-ir
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-ircustom:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-ircustom
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-zbbridge:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-zbbridge
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware
  
  tasmota-BG:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-BG
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-BR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-BR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-CN:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-CN
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-CZ:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-CZ
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-DE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-DE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-ES:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-ES
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-FR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-FR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-GR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-GR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-HE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-HE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-HU:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-HU
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-IT:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-IT
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-KO:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-KO
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-NL:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-NL
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-PL:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-PL
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-PT:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-PT
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-RO:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-RO
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-RU:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-RU
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-SE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-SE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-SK:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-SK
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-TR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-TR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-TW:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-TW
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota-UK:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-UK
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware


  tasmota-VN:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: | 
        platformio run -e tasmota-VN
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware


  tasmota32:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-minimal:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-minimal
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-lite:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-lite
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware


  tasmota32-webcam:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-webcam
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

    
  tasmota32-knx:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-knx
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-sensors:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-sensors
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-display:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-display
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-ir:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-ir
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-ircustom:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-ircustom
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-BG:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-BG
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-BR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-BR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-CN:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-CN
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-CZ:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-CZ
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-DE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-DE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-ES:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-ES
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-FR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-FR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-GR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-GR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-HE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-HE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-HU:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-HU
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-IT:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-IT
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-KO:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-KO
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-NL:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-NL
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-PL:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-PL
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-PT:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-PT
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-RO:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-RO
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-RU:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-RU
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-SE:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-SE
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-SK:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-SK
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-TR:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-TR
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-TW:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-TW
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  
  tasmota32-UK:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-UK
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware


  tasmota32-VN:
    needs: tasmota_pull
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - name: Set up Python
      uses: actions/setup-python@v1
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install -U platformio
        platformio upgrade --dev
        platformio update
    - name: Run PlatformIO
      run: |
        platformio run -e tasmota32-VN
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware


  Upload:
    needs: [tasmota-VN, tasmota32-ircustom, tasmota32-VN, tasmota32-TW, tasmota32-TR]    
    runs-on: ubuntu-latest
    continue-on-error: true
    steps:
    - uses: actions/checkout@v1
    - uses: actions/download-artifact@v2
      with:
        name: firmware
        path: ./mv_firmware
    - name: Display structure of downloaded files
      run: ls -R
      working-directory: ./mv_firmware
    - name: Move firmware files in sub-folders
      run: |
        mkdir -p ./firmware/tasmota/languages
        mkdir -p ./firmware/tasmota32/languages
        mkdir -p ./firmware/tasmota32/ESP32_needed_files/
        [ ! -f ./mv_firmware/tasmota.* ] || mv ./mv_firmware/tasmota.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-sensors.* ] || mv ./mv_firmware/tasmota-sensors.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-minimal.* ] || mv ./mv_firmware/tasmota-minimal.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-lite.* ] || mv ./mv_firmware/tasmota-lite.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-ir*.* ] || mv ./mv_firmware/tasmota-ir*.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-display.* ] || mv ./mv_firmware/tasmota-display.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-knx.* ] || mv ./mv_firmware/tasmota-knx.* ./firmware/tasmota/
        [ ! -f ./mv_firmware/tasmota-zbbridge.* ] || mv ./mv_firmware/tasmota-zbbridge.* ./firmware/tasmota/        
        [ ! -f ./mv_firmware/tasmota32.* ] || mv ./mv_firmware/tasmota32.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-sensors.* ] || mv ./mv_firmware/tasmota32-sensors.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-minimal.* ] || mv ./mv_firmware/tasmota32-minimal.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-lite.* ] || mv ./mv_firmware/tasmota32-lite.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-ir*.* ] || mv ./mv_firmware/tasmota32-ir*.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-display.* ] || mv ./mv_firmware/tasmota32-display.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-web*.* ] || mv ./mv_firmware/tasmota32-web*.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32-knx.* ] || mv ./mv_firmware/tasmota32-knx.* ./firmware/tasmota32/
        [ ! -f ./mv_firmware/tasmota32* ] || mv ./mv_firmware/tasmota32* ./firmware/tasmota32/languages/
        [ ! -f ./mv_firmware/* ] || mv ./mv_firmware/* ./firmware/tasmota/languages/
        [ ! -f ./tools/Esptool/ESP32/*.* ] || mv ./tools/Esptool/ESP32/*.* ./firmware/tasmota32/ESP32_needed_files/
        [ ! -f ./FIRMWARE.md ] || mv -f ./FIRMWARE.md ./README.md        
    - name: Commit files  # transfer the new binaries back into the repository
      run: |
        git config --local user.name "Platformio BUILD"
        git rm -r --cached .
        git add ./README.md
        git add -f ./firmware/*.*
        git commit -m "Tasmota ESP Binaries http://tasmota.com"
    - name: Push changes  # push the firmware files to branch firmware
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ secrets.GITHUB_TOKEN }}
        branch: 'firmware'
        force: true
