Skip to content

Fix cache key inconsistency and typo in 'Compile examples' GitHub Actions workflow #388

Fix cache key inconsistency and typo in 'Compile examples' GitHub Actions workflow

Fix cache key inconsistency and typo in 'Compile examples' GitHub Actions workflow #388

name: Compile examples
on:
push:
paths-ignore:
- '.github/workflows/cpp_lint.yml'
- '.github/workflows/compile_library.yml'
pull_request:
paths-ignore:
- '.github/workflows/cpp_lint.yml'
- '.github/workflows/compile_library.yml'
jobs:
esp8266:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
example:
- "examples/Parameters/SPIFFS/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino"
- "examples/Parameters/SPIFFS/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino"
- "examples/NonBlocking/OnDemandNonBlocking/OnDemandNonBlocking.ino"
- "examples/NonBlocking/AutoConnectNonBlockingwParams/AutoConnectNonBlockingwParams.ino"
- "examples/NonBlocking/AutoConnectNonBlocking/AutoConnectNonBlocking.ino"
- "examples/Basic/Basic.ino"
- "examples/Super/OnDemandConfigPortal/OnDemandConfigPortal.ino"
- "examples/Advanced/Advanced.ino"
- "examples/Old_examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino"
- "examples/Old_examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino"
- "examples/Old_examples/AutoConnectWithReset/AutoConnectWithReset.ino"
- "examples/Old_examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino"
- "examples/ParamsChildClass/ParamsChildClass.ino"
- "examples/OnDemand/OnDemandConfigPortal/OnDemandConfigPortal.ino"
- "examples/OnDemand/OnDemandWebPortal/OnDemandWebPortal.ino"
steps:
- uses: actions/checkout@v2
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ github.ref }}
restore-keys: |
${{ runner.os }}-pip-${{ github.ref }}-
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v2
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}-${{ github.ref }}
restore-keys: |
${{ runner.os }}-${{ github.ref }}-
${{ runner.os }}-
- name: Set up Python
uses: actions/setup-python@v2
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Install 3rd party dependencies
run: |
pio lib -g install \
file://. \
https://github.com/bblanchon/ArduinoJson \
https://github.com/knolleary/pubsubclient
- name: Run PlatformIO Examples
run: pio ci --board=nodemcuv2
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}
esp32:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
example:
- "examples/Parameters/SPIFFS/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino"
- "examples/Parameters/SPIFFS/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino"
- "examples/NonBlocking/OnDemandNonBlocking/OnDemandNonBlocking.ino"
- "examples/NonBlocking/AutoConnectNonBlockingwParams/AutoConnectNonBlockingwParams.ino"
- "examples/NonBlocking/AutoConnectNonBlocking/AutoConnectNonBlocking.ino"
- "examples/Basic/Basic.ino"
- "examples/Super/OnDemandConfigPortal/OnDemandConfigPortal.ino"
- "examples/Advanced/Advanced.ino"
- "examples/Old_examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino"
- "examples/Old_examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino"
- "examples/Old_examples/AutoConnectWithReset/AutoConnectWithReset.ino"
- "examples/Old_examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino"
- "examples/ParamsChildClass/ParamsChildClass.ino"
- "examples/OnDemand/OnDemandConfigPortal/OnDemandConfigPortal.ino"
- "examples/OnDemand/OnDemandWebPortal/OnDemandWebPortal.ino"
steps:
- uses: actions/checkout@v2
- name: Cache pip
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}-${{ github.ref }}
restore-keys: |
${{ runner.os }}-pip-${{ github.ref }}-
${{ runner.os }}-pip-
- name: Cache PlatformIO
uses: actions/cache@v2
with:
path: ~/.platformio
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}-${{ github.ref }}
restore-keys: |
${{ runner.os }}-${{ github.ref }}-
${{ runner.os }}-
- name: Set up Python
uses: actions/setup-python@v2
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Install 3rd party dependencies
run: |
pio lib -g install \
file://. \
https://github.com/bblanchon/ArduinoJson \
https://github.com/knolleary/pubsubclient
- name: Run PlatformIO Examples
run: pio ci --board=esp32dev
env:
PLATFORMIO_CI_SRC: ${{ matrix.example }}