From 95858bdda370c38c676f47ac4e235fce399fced5 Mon Sep 17 00:00:00 2001 From: Niklas Weber Date: Sat, 24 Sep 2022 21:42:20 +0200 Subject: [PATCH] Use a matrix instead of defining each job manually --- .github/workflows/build.yml | 48 ---------------------------- .github/workflows/ci.yml | 63 ++++++++++++++++++++++++------------- 2 files changed, 42 insertions(+), 69 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index db0b1de..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build - -on: - workflow_call: - inputs: - hwVersion: - description: "The version of the hardware to compile for (e.g. HW5, HW4, ...)" - required: true - type: string - -env: - ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL: false - -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Install Arduino CLI - uses: arduino/setup-arduino-cli@v1 - - - name: Install platform - run: | - arduino-cli core update-index - arduino-cli core install arduino:avr - - - name: Install libraries - run: | - arduino-cli lib install \ - "SdFat" \ - "Adafruit SSD1306" \ - "Adafruit GFX Library" \ - "Adafruit BusIO" \ - "U8g2" \ - "Adafruit NeoPixel" \ - "RotaryEncoder" \ - "Etherkit Si5351" \ - "RTClib" \ - "FreqCount" - - - name: Checkout - uses: actions/checkout@v3 - - - name: Compile - run: | - cd Cart_Reader/ - # Select hardware version by uncommenting it (using regular expression) - sed -i 's/^\/\/[\t ]*#define ${{ inputs.hwVersion }}/#define ${{ inputs.hwVersion }}/g' Cart_Reader.ino - arduino-cli compile --fqbn arduino:avr:mega diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 31add87..cb46d1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,29 +1,50 @@ name: CI -on: [push] +on: + push: + + pull_request: + +env: + ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL: false jobs: - HW5: - uses: ./.github/workflows/build.yml - with: - hwVersion: "HW5" + ci: + name: ${{ matrix.hwVersion }} + runs-on: ubuntu-latest + strategy: + matrix: + hwVersion: [HW5, HW4, HW3, HW2, HW1] - HW4: - uses: ./.github/workflows/build.yml - with: - hwVersion: "HW4" + steps: + - name: Install Arduino CLI + uses: arduino/setup-arduino-cli@v1 - HW3: - uses: ./.github/workflows/build.yml - with: - hwVersion: "HW3" + - name: Install platform + run: | + arduino-cli core update-index + arduino-cli core install arduino:avr - HW2: - uses: ./.github/workflows/build.yml - with: - hwVersion: "HW2" + - name: Install libraries + run: | + arduino-cli lib install \ + "SdFat" \ + "Adafruit SSD1306" \ + "Adafruit GFX Library" \ + "Adafruit BusIO" \ + "U8g2" \ + "Adafruit NeoPixel" \ + "RotaryEncoder" \ + "Etherkit Si5351" \ + "RTClib" \ + "FreqCount" - HW1: - uses: ./.github/workflows/build.yml - with: - hwVersion: "HW1" + - name: Checkout + uses: actions/checkout@v3 + + - name: Compile + run: | + cd Cart_Reader/ + # Select hardware version by uncommenting it (using regular expression) + sed -i 's/^\/\/[\t ]*#define ${{ matrix.hwVersion }}/#define ${{ matrix.hwVersion }}/g' Cart_Reader.ino + arduino-cli compile --fqbn arduino:avr:mega