# Check the build status for the nighly builder, release or pull request

name: ESPurna build

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.x'
    - name: Cache PlatformIO
      uses: actions/cache@v2
      with:
        path: ~/.platformio
        key: ${{ runner.os }}-${{ hashFiles('code/platformio.ini') }}
    - name: Host tests
      run: |
        ./ci_install.sh host
        ./ci_script.sh host
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: actions/setup-python@v2
      with:
        python-version: '3.x'
    - uses: actions/setup-node@v2
      with:
        node-version: '14'
    - name: Cache Node
      uses: actions/cache@v2
      with:
        path: ~/.npm
        key: ${{ runner.os }}-${{ hashFiles('code/package-lock.json', 'code/package.json') }}
    - name: Cache PlatformIO
      uses: actions/cache@v2
      with:
        path: ~/.platformio
        key: ${{ runner.os }}-${{ hashFiles('code/platformio.ini') }}
    - name: WebUI tests
      run: |
        ./ci_install.sh webui
        ./ci_script.sh webui
    - name: PlatformIO build
      env:
        BUILDER_TOTAL_THREADS: 4
        ESPURNA_PIO_PATCH_ISSUE_1610: "y"
        ESPURNA_PIO_SHARED_LIBRARIES: "y"
        TEST_ENV: "esp8266-4m-latest-base"
        TEST_EXTRA_ARGS: "-a test/build/extra/secure_client.h"
      run: |
        git config --global advice.detachedHead false
        ./ci_install.sh build
        ./ci_script.sh build
