name: PlatformIO CI on: push: pull_request: jobs: pio-build: runs-on: ubuntu-20.04 steps: - name: Checkout code uses: actions/checkout@v2 - name: Cache pip uses: actions/cache@v2 with: path: ~/.cache/pip key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- - name: Cache PlatformIO uses: actions/cache@v2 with: path: ~/.platformio key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} - name: Set up Python uses: actions/setup-python@v2 - name: Install PlatformIO id: pio_install run: | python -m pip install --upgrade pip pip install --upgrade platformio - name: Build Firmware (view) # Run regardless of other build step failures, as long as setup steps completed if: always() && steps.pio_install.outcome == 'success' run: | pio run -d ./firmware \ -e view \ - name: Build Firmware (handheld_tdisplay) # Run regardless of other build step failures, as long as setup steps completed if: always() && steps.pio_install.outcome == 'success' run: | pio run -d ./firmware \ -e handheld_tdisplay \