From 77756d8a06e869875438e34ca6056738f98e5938 Mon Sep 17 00:00:00 2001 From: Abdelatif Guettouche Date: Mon, 17 Jan 2022 22:29:28 +0100 Subject: [PATCH] ci: Miscellaneous improvements (#6132) Cache downloaded tools. Cancel duplicate jobs. Use current repo when linking the core, this allows users to test their code when creating PRs against their forks (for instance an error in an example sketch will build successfully in a fork workflow.) Cache Arduino IDE. Add workflow_dispatch to be able to trigger the workflow manually. --- .github/scripts/install-arduino-core-esp32.sh | 2 +- .github/workflows/push.yml | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.github/scripts/install-arduino-core-esp32.sh b/.github/scripts/install-arduino-core-esp32.sh index 374d0401..7b03f2d3 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 b73b4d34..b5afd130 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