Skip to content

Commit c54623d

Browse files
committed
restructured the CI
1 parent e4b9f71 commit c54623d

File tree

7 files changed

+195
-50
lines changed

7 files changed

+195
-50
lines changed

.github/workflows/arduino.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: AVR build
2+
on: [push, pull_request]
3+
jobs:
4+
lint:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v2
8+
- uses: arduino/arduino-lint-action@v1
9+
with:
10+
library-manager: update
11+
project-type: library
12+
build:
13+
name: Test compiling
14+
runs-on: ubuntu-latest
15+
16+
strategy:
17+
matrix:
18+
arduino-boards-fqbn:
19+
- arduino:avr:uno # arudino uno
20+
- arduino:sam:arduino_due_x # arduino due
21+
- arduino:avr:mega # arduino mega2650
22+
- arduino:avr:leonardo # arduino leonardo
23+
24+
include:
25+
- arduino-boards-fqbn: arduino:avr:uno # arudino uno - compiling almost all examples
26+
sketch-names: '**.ino'
27+
required-libraries: PciManager
28+
sketches-exclude: teensy4_current_control_low_side, full_control_serial, angle_control, bluepill_position_control, esp32_position_control, esp32_i2c_dual_bus_example, stm32_i2c_dual_bus_example, magnetic_sensor_spi_alt_example, osc_esp32_3pwm, osc_esp32_fullcontrol, nano33IoT_velocity_control, smartstepper_control,esp32_current_control_low_side, stm32_spi_alt_example, esp32_spi_alt_example, B_G431B_ESC1, odrive_example_spi, odrive_example_encoder, single_full_control_example, double_full_control_example, stm32_current_control_low_side, open_loop_velocity_6pwm
29+
30+
- arduino-boards-fqbn: arduino:sam:arduino_due_x # arduino due - one full example
31+
sketch-names: single_full_control_example.ino
32+
33+
- arduino-boards-fqbn: arduino:avr:leonardo # arduino leonardo - one full example
34+
sketch-names: open_loop_position_example.ino
35+
36+
- arduino-boards-fqbn: arduino:avr:mega # arduino mega2660 - one full example
37+
sketch-names: single_full_control_example.ino
38+
39+
40+
# Do not cancel all jobs / architectures if one job fails
41+
fail-fast: false
42+
steps:
43+
- name: Checkout
44+
uses: actions/checkout@master
45+
- name: Compile all examples
46+
uses: ArminJo/arduino-test-compile@master
47+
with:
48+
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }}
49+
required-libraries: ${{ matrix.required-libraries }}
50+
platform-url: ${{ matrix.platform-url }}
51+
sketch-names: ${{ matrix.sketch-names }}
52+
sketches-exclude: ${{ matrix.sketches-exclude }}
53+
build-properties: ${{ toJson(matrix.build-properties) }}

.github/workflows/esp32.yml

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
name: ESP32 build
2+
on: [push, pull_request]
3+
jobs:
4+
lint:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v2
8+
- uses: arduino/arduino-lint-action@v1
9+
with:
10+
library-manager: update
11+
project-type: library
12+
build:
13+
name: Test compiling
14+
runs-on: ubuntu-latest
15+
16+
strategy:
17+
matrix:
18+
arduino-boards-fqbn:
19+
- esp32:esp32:esp32doit-devkit-v1 # esp32
20+
- esp32:esp32:esp32s2 # esp32s2
21+
- esp32:esp32:esp32s3 # esp32s3
22+
23+
include:
24+
25+
- arduino-boards-fqbn: esp32:esp32:esp32s2 # esp32s2
26+
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
27+
sketch-names: bldc_driver_3pwm_standalone.ino,stepper_driver_2pwm_standalone.ino,stepper_driver_4pwm_standalone.ino
28+
29+
- arduino-boards-fqbn: esp32:esp32:esp32s3 # esp32s3
30+
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
31+
sketch-names: esp32_position_control.ino, esp32_i2c_dual_bus_example.ino
32+
33+
- arduino-boards-fqbn: esp32:esp32:esp32doit-devkit-v1 # esp32
34+
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
35+
sketch-names: esp32_position_control.ino, esp32_i2c_dual_bus_example.ino, esp32_current_control_low_side.ino, esp32_spi_alt_example.ino
36+
37+
# Do not cancel all jobs / architectures if one job fails
38+
fail-fast: false
39+
steps:
40+
- name: Checkout
41+
uses: actions/checkout@master
42+
- name: Compile all examples
43+
uses: ArminJo/arduino-test-compile@master
44+
with:
45+
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }}
46+
required-libraries: ${{ matrix.required-libraries }}
47+
platform-url: ${{ matrix.platform-url }}
48+
sketch-names: ${{ matrix.sketch-names }}
49+
sketches-exclude: ${{ matrix.sketches-exclude }}
50+
build-properties: ${{ toJson(matrix.build-properties) }}

.github/workflows/rpi.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: RP2040 build
2+
on: [push, pull_request]
3+
jobs:
4+
lint:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v2
8+
- uses: arduino/arduino-lint-action@v1
9+
with:
10+
library-manager: update
11+
project-type: library
12+
build:
13+
name: Test compiling
14+
runs-on: ubuntu-latest
15+
16+
strategy:
17+
matrix:
18+
arduino-boards-fqbn:
19+
- arduino:mbed_rp2040:pico # rpi pico
20+
21+
include:
22+
23+
- arduino-boards-fqbn: arduino:mbed_rp2040:pico # raspberry pi pico - one example
24+
sketch-names: open_loop_position_example.ino
25+
26+
# Do not cancel all jobs / architectures if one job fails
27+
fail-fast: false
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@master
31+
- name: Compile all examples
32+
uses: ArminJo/arduino-test-compile@master
33+
with:
34+
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }}
35+
required-libraries: ${{ matrix.required-libraries }}
36+
platform-url: ${{ matrix.platform-url }}
37+
sketch-names: ${{ matrix.sketch-names }}
38+
sketches-exclude: ${{ matrix.sketches-exclude }}
39+
build-properties: ${{ toJson(matrix.build-properties) }}

.github/workflows/samd.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: SAMD build
2+
on: [push, pull_request]
3+
jobs:
4+
lint:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- uses: actions/checkout@v2
8+
- uses: arduino/arduino-lint-action@v1
9+
with:
10+
library-manager: update
11+
project-type: library
12+
build:
13+
name: Test compiling
14+
runs-on: ubuntu-latest
15+
16+
strategy:
17+
matrix:
18+
arduino-boards-fqbn:
19+
- arduino:samd:nano_33_iot # samd21
20+
- adafruit:samd:adafruit_metro_m4 # samd51
21+
22+
include:
23+
24+
- arduino-boards-fqbn: arduino:samd:nano_33_iot # samd21
25+
sketch-names: nano33IoT_velocity_control.ino, smartstepper_control.ino
26+
27+
- arduino-boards-fqbn: adafruit:samd:adafruit_metro_m4 # samd51 - one full example
28+
platform-url: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
29+
sketch-names: single_full_control_example.ino
30+
31+
# Do not cancel all jobs / architectures if one job fails
32+
fail-fast: false
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@master
36+
- name: Compile all examples
37+
uses: ArminJo/arduino-test-compile@master
38+
with:
39+
arduino-board-fqbn: ${{ matrix.arduino-boards-fqbn }}
40+
required-libraries: ${{ matrix.required-libraries }}
41+
platform-url: ${{ matrix.platform-url }}
42+
sketch-names: ${{ matrix.sketch-names }}
43+
sketches-exclude: ${{ matrix.sketches-exclude }}
44+
build-properties: ${{ toJson(matrix.build-properties) }}

.github/workflows/ccpp.yml renamed to .github/workflows/stm32.yml

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Library Compile
1+
name: STM32 build
22
on: [push, pull_request]
33
jobs:
44
lint:
@@ -16,60 +16,14 @@ jobs:
1616
strategy:
1717
matrix:
1818
arduino-boards-fqbn:
19-
- arduino:avr:uno # arudino uno
20-
- arduino:sam:arduino_due_x # arduino due
21-
- arduino:avr:mega # arduino mega2650
22-
- arduino:avr:leonardo # arduino leonardo
23-
- arduino:samd:nano_33_iot # samd21
24-
- adafruit:samd:adafruit_metro_m4 # samd51
25-
- esp32:esp32:esp32doit-devkit-v1 # esp32
26-
- esp32:esp32:esp32s2 # esp32s2
27-
- esp32:esp32:esp32s3 # esp32s3
2819
- STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 # stm32 bluepill
2920
- STMicroelectronics:stm32:Nucleo_64:pnum=NUCLEO_F411RE # stm32 nucleo
3021
- STMicroelectronics:stm32:Nucleo_144:pnum=NUCLEO_F746ZG # stm32 nucleo f746zg
3122
- STMicroelectronics:stm32:GenF4:pnum=GENERIC_F405RGTX # stm32f405 - odrive
3223
- STMicroelectronics:stm32:GenL4:pnum=GENERIC_L475RGTX # stm32l475
3324
- STMicroelectronics:stm32:Disco:pnum=B_G431B_ESC1 # B-G431-ESC1
34-
- arduino:mbed_rp2040:pico # rpi pico
35-
36-
include:
37-
- arduino-boards-fqbn: arduino:avr:uno # arudino uno - compiling almost all examples
38-
sketch-names: '**.ino'
39-
required-libraries: PciManager
40-
sketches-exclude: teensy4_current_control_low_side, full_control_serial, angle_control, bluepill_position_control, esp32_position_control, esp32_i2c_dual_bus_example, stm32_i2c_dual_bus_example, magnetic_sensor_spi_alt_example, osc_esp32_3pwm, osc_esp32_fullcontrol, nano33IoT_velocity_control, smartstepper_control,esp32_current_control_low_side, stm32_spi_alt_example, esp32_spi_alt_example, B_G431B_ESC1, odrive_example_spi, odrive_example_encoder, single_full_control_example, double_full_control_example, stm32_current_control_low_side, open_loop_velocity_6pwm
41-
42-
- arduino-boards-fqbn: arduino:sam:arduino_due_x # arduino due - one full example
43-
sketch-names: single_full_control_example.ino
44-
45-
- arduino-boards-fqbn: arduino:avr:leonardo # arduino leonardo - one full example
46-
sketch-names: open_loop_position_example.ino
47-
48-
- arduino-boards-fqbn: arduino:avr:mega # arduino mega2660 - one full example
49-
sketch-names: single_full_control_example.ino
50-
51-
- arduino-boards-fqbn: arduino:samd:nano_33_iot # samd21
52-
sketch-names: nano33IoT_velocity_control.ino, smartstepper_control.ino
53-
54-
- arduino-boards-fqbn: arduino:mbed_rp2040:pico # raspberry pi pico - one example
55-
sketch-names: open_loop_position_example.ino
56-
57-
- arduino-boards-fqbn: adafruit:samd:adafruit_metro_m4 # samd51 - one full example
58-
platform-url: https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
59-
sketch-names: single_full_control_example.ino
60-
61-
- arduino-boards-fqbn: esp32:esp32:esp32s2 # esp32s2
62-
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
63-
sketch-names: bldc_driver_3pwm_standalone.ino,stepper_driver_2pwm_standalone.ino,stepper_driver_4pwm_standalone.ino
64-
65-
- arduino-boards-fqbn: esp32:esp32:esp32s3 # esp32s3
66-
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
67-
sketch-names: esp32_position_control.ino, esp32_i2c_dual_bus_example.ino
68-
69-
- arduino-boards-fqbn: esp32:esp32:esp32doit-devkit-v1 # esp32
70-
platform-url: https://espressif.github.io/arduino-esp32/package_esp32_index.json
71-
sketch-names: esp32_position_control.ino, esp32_i2c_dual_bus_example.ino, esp32_current_control_low_side.ino, esp32_spi_alt_example.ino
7225

26+
include:
7327
- arduino-boards-fqbn: STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 # bluepill - hs examples
7428
platform-url: https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
7529
sketch-names: bluepill_position_control.ino, stm32_i2c_dual_bus_example.ino, stm32_spi_alt_example.ino

.github/workflows/teensy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: PlatformIO - Teensy build
1+
name: Teensy build
22

33
on: [push]
44

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
# SimpleFOClibrary - **Simple** Field Oriented Control (FOC) **library** <br>
22
### A Cross-Platform FOC implementation for BLDC and Stepper motors<br> based on the Arduino IDE and PlatformIO
33

4-
![Library Compile](https://github.com/simplefoc/Arduino-FOC/workflows/Library%20Compile/badge.svg) [![PlatformIO - Teensy build](https://github.com/simplefoc/Arduino-FOC/actions/workflows/teensy.yml/badge.svg)](https://github.com/simplefoc/Arduino-FOC/actions/workflows/teensy.yml)
4+
![AVR](https://github.com/simplefoc/Arduino-FOC/workflows/AVR%20build/badge.svg)
5+
![ESP32](https://github.com/simplefoc/Arduino-FOC/workflows/ESP32%20build/badge.svg)
6+
![STM32](https://github.com/simplefoc/Arduino-FOC/workflows/STM32%20build/badge.svg)
7+
![RP2040](https://github.com/simplefoc/Arduino-FOC/workflows/RP2040%20build/badge.svg)
8+
![SAMD](https://github.com/simplefoc/Arduino-FOC/workflows/SAMD%20build/badge.svg)
9+
[![Teensy build](https://github.com/simplefoc/Arduino-FOC/actions/workflows/teensy.yml/badge.svg)](https://github.com/simplefoc/Arduino-FOC/actions/workflows/teensy.yml)
510

611
![GitHub release (latest by date)](https://img.shields.io/github/v/release/simplefoc/arduino-foc)
712
![GitHub Release Date](https://img.shields.io/github/release-date/simplefoc/arduino-foc?color=blue)

0 commit comments

Comments
 (0)