name: PlatformIO Build on: push: branches: - dev - 'test/**' tags-ignore: '**' pull_request: branches: [dev] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '3.x' - name: Cache CMake uses: actions/cache@v2 with: path: code/test/unit/cache key: ${{ runner.os }}-cmake-${{ hashFiles('code/test/unit/CMakeLists.txt') }} - name: Host tests run: | ./ci_install.sh host ./ci_script.sh host webui: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14' - name: Cache Node uses: actions/cache@v2 with: path: ~/.npm key: ${{ runner.os }}-npm-${{ hashFiles('code/package-lock.json', 'code/package.json') }} - name: WebUI tests run: | ./ci_install.sh webui ./ci_script.sh webui build: runs-on: ubuntu-latest strategy: matrix: env: [esp8266-4m-base, esp8266-4m-latest-base] env: ESPURNA_PIO_SHARED_LIBRARIES: "1" steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '3.x' - name: Cache pip uses: actions/cache@v2 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('ci_install.sh') }} - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio key: ${{ runner.os }}-${{ matrix.env }}-${{ hashFiles('code/platformio.ini') }} - name: PlatformIO prepare run: | git config --global advice.detachedHead false ./ci_install.sh build - run: | ./ci_script.sh build ${{ matrix.env }}