diff --git a/.github/scripts/install-arduino-core-esp32.sh b/.github/scripts/install-arduino-core-esp32.sh index 374d0401547..7b03f2d3262 100755 --- a/.github/scripts/install-arduino-core-esp32.sh +++ b/.github/scripts/install-arduino-core-esp32.sh @@ -15,7 +15,7 @@ if [ ! -d "$ARDUINO_ESP32_PATH" ]; then pip install requests > /dev/null fi - if [ "$GITHUB_REPOSITORY" == "espressif/arduino-esp32" ]; then + if [ ! -z "$GITHUB_REPOSITORY" ]; then echo "Linking Core..." ln -s $GITHUB_WORKSPACE esp32 else diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index b73b4d34c67..b5afd130dbd 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -1,14 +1,19 @@ name: ESP32 Arduino CI on: + workflow_dispatch: push: branches: - master - release/* pull_request: +concurrency: + group: build-${{github.event.pull_request.number || github.ref}} + cancel-in-progress: true + jobs: - + # Ubuntu build-arduino-linux: name: Arduino ${{ matrix.chunk }} on ubuntu-latest @@ -16,12 +21,22 @@ jobs: strategy: matrix: chunk: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] - + steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '3.x' + - name: Cache tools + id: cache-linux + uses: actions/cache@v2 + with: + path: | + ./tools/dist + ~/arduino_ide + key: ${{ runner.os }}-${{ hashFiles('package/package_esp32_index.template.json', + 'tools/get.py', + '.github/scripts/install-arduino-ide.sh') }} - name: Build Sketches run: bash ./.github/scripts/on-push.sh ${{ matrix.chunk }} 15 @@ -32,7 +47,7 @@ jobs: strategy: matrix: os: [windows-latest, macOS-latest] - + steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 @@ -48,7 +63,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest, macOS-latest] - + steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2