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