name: Tasmota CI

on:
  pull_request:

jobs:
  tasmota:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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-zbbridge:
    runs-on: ubuntu-latest
    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-AF:
    runs-on: ubuntu-latest
    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-AF
    - uses: actions/upload-artifact@v2
      with:
        name: firmware
        path: ./build_output/firmware

  tasmota-BG:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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:
    runs-on: ubuntu-latest
    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
