-
-
Notifications
You must be signed in to change notification settings - Fork 729
Add CI workflows (to be used with ArduinoCore-API integration) #567
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
cc557a4
Add compile example for CI
giulcioffi 2691b30
Use branch namespaced_api_Hardware of ArduinoCore-API
giulcioffi 64f2aee
Disable size-delta-report and use arduino path for compile example step
giulcioffi 3139e35
Use official branch of ArduinoCore-API
giulcioffi f7c8d00
Add MKRGSM, MKRNB, MKRWAN, WiFi101
giulcioffi e9e9e8b
Compile all the libraries + WiFi101 from namespaced_api branch
giulcioffi 1a6ef45
Install ArduinoIoTCloud + dependencies from the repository instead of…
giulcioffi 7d18af8
Install Arduino_ConnectionHandler from the repository instead of Boar…
giulcioffi 0ed98c2
Compile LoRa library
giulcioffi 4f861fd
Remove intallation of libraries which are dependencies of ArduinoIoTC…
giulcioffi c3f8a97
Compile only when a relevant file is modified
giulcioffi c8693a3
Remove examples from extras and add step to download them
giulcioffi 0bff8ae
Use list mode for sketches
giulcioffi 00dca72
Remove universal libraries entry
giulcioffi f2dd55a
Remove WiFiNINA step and compile its examples
giulcioffi 2990e4c
Assign a unique type to mkrwifi1010, nano33IoT, mkrwan1310 and mkrNB1500
giulcioffi 6db378e
Remove comments
giulcioffi d7d471b
Add report-size-delta action + step to upload artifact
giulcioffi 01f3e74
Update names and paths for compile-sketches and report-size-deltas ac…
giulcioffi b47b2af
Add VidorPeripherals to tesk sketches for MKR Vidor
giulcioffi da63a92
Use master branch of library WiFi101
giulcioffi dbf2e79
Use new mkrgsm1400-sketch-paths for MKR GSM1400
giulcioffi 857c994
Update inputs for upload-artifact entries
giulcioffi 0dc7e00
Add WAN attribute to compile also examples from MKRWAN library for MK…
giulcioffi fb59c13
Remove redundant matrix entry for MKRNB1500
giulcioffi 50d5867
Use release version of Keyboard library
giulcioffi 6769704
Fix wrong core name in a comment
giulcioffi e62bb96
Mv ArduinoCore-API only if included inplatform
giulcioffi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
Add compile example for CI
- Loading branch information
commit cc557a442b26b31f32af2b616a4a50b4fb1a368a
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,146 @@ | ||||||
name: Compile Examples | ||||||
|
||||||
on: [pull_request, push] | ||||||
|
||||||
jobs: | ||||||
compile-test: | ||||||
runs-on: ubuntu-latest | ||||||
|
||||||
env: | ||||||
# libraries to install for all boards | ||||||
UNIVERSAL_LIBRARIES: '"MFRC522" "Keyboard" "Mouse" "Servo" "LiquidCrystal" "CapacitiveSensor"' | ||||||
# sketch paths to compile (recursive) for all boards | ||||||
UNIVERSAL_SKETCH_PATHS: '"extras/shared/examples" "libraries/Wire" "libraries/USBHost" "libraries/SPI" "libraries/SFU/examples/SFU_LoadBinary" "libraries/SAMD_AnalogCorrection" "~/Arduino/libraries/Keyboard/examples/Serial" "~/Arduino/libraries/Servo/examples" "~/Arduino/libraries/LiquidCrystal/examples" "~/Arduino/libraries/Ethernet/examples" "~/Arduino/libraries/SD/examples" "~/Arduino/libraries/WiFi/examples" "~/Arduino/libraries/Arduino_LSM9DS1/examples" "~/Arduino/libraries/Arduino_JSON/examples" "~/Arduino/libraries/MFRC522/examples/ChangeUID" "~/Arduino/libraries/MFRC522/examples/DumpInfo" "~/Arduino/libraries/MFRC522/examples/FixBrickedUID" "~/Arduino/libraries/MFRC522/examples/MifareClassicValueBlock" "~/Arduino/libraries/MFRC522/examples/MinimalInterrupt" "~/Arduino/libraries/MFRC522/examples/Ntag216_AUTH" "~/Arduino/libraries/MFRC522/examples/RFID-Cloner" "~/Arduino/libraries/MFRC522/examples/ReadAndWrite" "~/Arduino/libraries/MFRC522/examples/ReadNUID" "~/Arduino/libraries/MFRC522/examples/ReadUidMultiReader" "~/Arduino/libraries/MFRC522/examples/firmware_check" "~/Arduino/libraries/MFRC522/examples/rfid_default_keys" "~/Arduino/libraries/MFRC522/examples/rfid_read_personal_data" "~/Arduino/libraries/MFRC522/examples/rfid_write_personal_data"' | ||||||
|
||||||
strategy: | ||||||
fail-fast: false | ||||||
|
||||||
matrix: | ||||||
board: [ | ||||||
{"fqbn": "arduino:samd:arduino_zero_edbg", "type": "usb"}, #normal | ||||||
{"fqbn": "arduino:samd:arduino_zero_native", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkr1000", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkrzero", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkrwifi1010", "type": "mkrwifi_nb1500"}, | ||||||
{"fqbn": "arduino:samd:nano_33_iot", "type": "nano_mkrwan1310"}, | ||||||
{"fqbn": "arduino:samd:mkrfox1200", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkrwan1300", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkrwan1310", "type": "nano_mkrwan1310"}, | ||||||
{"fqbn": "arduino:samd:mkrgsm1400", "type": "usb"}, | ||||||
{"fqbn": "arduino:samd:mkrnb1500", "type": "mkrwifi_nb1500"}, | ||||||
{"fqbn": "arduino:samd:mkrvidor4000", "type": "vidor"}, | ||||||
{"fqbn": "arduino:samd:adafruit_circuitplayground_m0", "type": "adafruit_playg"}, | ||||||
{"fqbn": "arduino:samd:mzero_pro_bl_dbg", "type": "mzero"}, #normal | ||||||
{"fqbn": "arduino:samd:mzero_pro_bl", "type": "mzero"}, | ||||||
{"fqbn": "arduino:samd:mzero_bl", "type": "mzero"}, | ||||||
{"fqbn": "arduino:samd:tian", "type": "tian"} #, | ||||||
#{"fqbn": "arduino:samd:tian_cons", "type": "usb"} #normal | ||||||
] | ||||||
|
||||||
# make board type-specific customizations to the matrix jobs | ||||||
include: | ||||||
# Normal USB boards with all the general libraries | ||||||
- board: | ||||||
type: "usb" | ||||||
additional-sketch-paths: '"~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata" "libraries/I2S/examples" "libraries/SDU/examples"' | ||||||
# Vidor board | ||||||
- board: | ||||||
type: "vidor" | ||||||
additional-sketch-paths: '"libraries/SAMD_BootloaderUpdater/examples" "libraries/I2S/examples"' | ||||||
# mkrwifi1010 and mkrnb1500 boards | ||||||
- board: | ||||||
type: "mkrwifi_nb1500" | ||||||
additional-sketch-paths: '"libraries/I2S/examples" "libraries/SDU/examples"' | ||||||
# nano_33_iot and mkrwan1310 boards | ||||||
- board: | ||||||
type: "nano_mkrwan1310" | ||||||
additional-sketch-paths: "libraries/I2S/examples" | ||||||
# adafruit_cicrcuitplayground board | ||||||
- board: | ||||||
type: "adafruit_playg" | ||||||
additional-sketch-paths: "libraries/SDU/examples" | ||||||
# mzero boards | ||||||
- board: | ||||||
type: "mzero" | ||||||
additional-sketch-paths: '"~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata" "libraries/SDU/examples"' | ||||||
# tian board | ||||||
- board: | ||||||
type: "tian" | ||||||
additional-sketch-paths: '"~/Arduino/libraries/Firmata/examples/StandardFirmataPlus" "~/Arduino/libraries/Firmata/examples/StandardFirmataEthernet" "~/Arduino/libraries/Firmata/examples/StandardFirmata" "~/Arduino/libraries/Firmata/examples/SimpleDigitalFirmata" "~/Arduino/libraries/Firmata/examples/SimpleAnalogFirmata" "~/Arduino/libraries/Firmata/examples/ServoFirmata" "~/Arduino/libraries/Firmata/examples/EchoString" "~/Arduino/libraries/Firmata/examples/AnalogFirmata" "~/Arduino/libraries/Firmata/examples/AllInputsFirmata"' | ||||||
|
||||||
steps: | ||||||
- name: Checkout repository | ||||||
uses: actions/checkout@v2 | ||||||
|
||||||
# The source files are in a subfolder of the ArduinoCore-API repository, so it's not possible to clone it directly to the final destination in the core | ||||||
- name: Checkout ArduinoCore-API | ||||||
uses: actions/checkout@v2 | ||||||
with: | ||||||
repository: arduino/ArduinoCore-API | ||||||
path: extras/ArduinoCore-API | ||||||
|
||||||
- name: Install ArduinoCore-API | ||||||
run: mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino" | ||||||
|
||||||
- name: Checkout Adafruit WiFiNINA | ||||||
uses: actions/checkout@v2 | ||||||
with: | ||||||
repository: adafruit/WiFiNINA | ||||||
path: adafruit/WiFiNINA | ||||||
|
||||||
- name: Compile examples | ||||||
uses: per1234/actions/libraries/compile-examples@master | ||||||
with: | ||||||
fqbn: ${{ matrix.board.fqbn }} | ||||||
libraries: | | ||||||
- name: MFRC522 | ||||||
- name: Arduino_MKRMEM | ||||||
- name: FlashStorage | ||||||
- source-url: https://github.com/arduino-libraries/Keyboard.git | ||||||
- name: Mouse | ||||||
- name: Servo | ||||||
- name: LiquidCrystal | ||||||
- name: CapacitiveSensor | ||||||
- name: Ethernet | ||||||
- name: ArduinoBearSSL | ||||||
- name: Arduino_APDS9960 | ||||||
- name: Servo | ||||||
- name: Arduino_LSM9DS1 | ||||||
- name: ArduinoHttpClient | ||||||
- name: NTPClient | ||||||
- name: TFT | ||||||
- name: ArduinoMqttClient | ||||||
- name: Arduino_CRC32 | ||||||
- name: Arduino_LSM6DS3 | ||||||
- name: Stepper | ||||||
- name: SD | ||||||
- name: WiFi101 | ||||||
- name: Arduino_JSON | ||||||
- name: Arduino_HTS221 | ||||||
- name: Firmata | ||||||
- name: ArduinoMotorCarrier | ||||||
- name: ArduinoCloudThing | ||||||
- name: Arduino_DebugUtils | ||||||
- name: WiFi Link | ||||||
- name: Arduino_LPS22HB | ||||||
- name: CTC GO MOTIONS | ||||||
- name: ArduinoModbus | ||||||
- name: ArduinoIoTCloudBearSSL | ||||||
- name: ArduinoDMX | ||||||
- name: ArduinoRS485 | ||||||
- name: Arduino_OAuth | ||||||
- name: CTC GO CORE | ||||||
- name: WiFi | ||||||
- name: Bridge | ||||||
- name: Temboo | ||||||
- name: ArduinoIoTCloud | ||||||
- name: Madgwick | ||||||
platforms: | | ||||||
# Use Board Manager to install the latest release of Arduino megaAVR Boards to get the toolchain | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
- name: "arduino:samd" | ||||||
# Overwrite the Board Manager installation with the local platform | ||||||
- source-path: "./" | ||||||
name: "arduino:samd" | ||||||
sketch-paths: "${{ env.UNIVERSAL_SKETCH_PATHS }} ${{ matrix.additional-sketch-paths }}" | ||||||
enable-size-deltas-report: 'true' | ||||||
verbose: 'true' |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm guess that the use of the development version of the Keyboard library is because that version has an example sketch added:
arduino-libraries/Keyboard@a587425
but that example sketch is just a copy/paste of the KeyboardSerial example in the built-in examples:
https://github.com/arduino/arduino-examples/blob/main/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino
which the workflow is already configured to compile.
So there would be no loss of coverage from using the release version of the library and removing the
~/Arduino/libraries/Keyboard/examples/Serial
path fromenv.UNIVERSAL_SKETCH_PATHS