-
Notifications
You must be signed in to change notification settings - Fork 161
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add workflows for GitHub Actions to compile different hardwares
- comment out all #define macros related to batteries and inverters in USER_SETTINGS.h - remove workflow to compile arduino sketch, as the sketch does not compile without defining the #define macros - add workflow to compile all batteries in combination with the inverter communication protocol: BYD_MODBUS - add workflow to compile all inverter communication protocols in combination with the battery: NISSAN_LEAF_BATTERY - add workflow to compile all combinations of batteries and inverter communication protocols. This workflow can be triggered manually.
- Loading branch information
Showing
5 changed files
with
236 additions
and
35 deletions.
There are no files selected for viewing
This file contains 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,77 @@ | ||
# This is the name of the workflow, visible on GitHub UI. | ||
name: Compile All Batteries | ||
|
||
# Here we tell GitHub when to run the workflow. | ||
on: | ||
# The workflow is run when a commit is pushed or for a | ||
# Pull Request. | ||
- push | ||
- pull_request | ||
|
||
# This is the list of jobs that will be run concurrently. | ||
# Since we use a build matrix, the actual number of jobs | ||
# started depends on how many configurations the matrix | ||
# will produce. | ||
jobs: | ||
# This is the name of the job | ||
build-batteries: | ||
|
||
# Here we tell GitHub that the jobs must be determined | ||
# dynamically depending on a matrix configuration. | ||
strategy: | ||
# The matrix will produce one job for each combination of parameters. | ||
matrix: | ||
# This is the development board hardware for which the code will be compiled. | ||
# FBQN stands for "fully qualified board name", and is used by Arduino to define the hardware to compile for. | ||
fqbn: | ||
- esp32:esp32:esp32 | ||
# further ESP32 chips | ||
#- esp32:esp32:esp32c3 | ||
#- esp32:esp32:esp32c2 | ||
#- esp32:esp32:esp32c6 | ||
#- esp32:esp32:esp32h2 | ||
#- esp32:esp32:esp32s3 | ||
# These are the batteries for which the code will be compiled. | ||
battery: | ||
- BMW_I3_BATTERY | ||
- CHADEMO_BATTERY | ||
- IMIEV_CZERO_ION_BATTERY | ||
- KIA_HYUNDAI_64_BATTERY | ||
- NISSAN_LEAF_BATTERY | ||
- RENAULT_ZOE_BATTERY | ||
- TESLA_MODEL_3_BATTERY | ||
# These are the emulated inverter communication protocols for which the code will be compiled. | ||
inverter: | ||
# - BYD_CAN | ||
- BYD_MODBUS | ||
# - LUNA2000_MODBUS | ||
# - PYLON_CAN | ||
# - SMA_CAN | ||
# - SOFAR_CAN | ||
# - SOLAX_CAN | ||
|
||
# This is the platform GitHub will use to run our workflow. | ||
runs-on: ubuntu-latest | ||
|
||
# This is the list of steps this job will run. | ||
steps: | ||
# First we clone the repo using the `checkout` action. | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
# We use the `arduino/setup-arduino-cli` action to install and | ||
# configure the Arduino CLI on the system. | ||
- name: Setup Arduino CLI | ||
uses: arduino/setup-arduino-cli@v1 | ||
|
||
# We then install the platform. | ||
- name: Install platform | ||
run: | | ||
arduino-cli core update-index | ||
arduino-cli core install esp32:esp32 | ||
# Finally, we compile the sketch, using the FQBN that was set | ||
# in the build matrix, and using build flags to define the | ||
# battery and inverter set in the build matrix. | ||
- name: Compile Sketch | ||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software |
This file contains 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,80 @@ | ||
# This is the name of the workflow, visible on GitHub UI. | ||
name: Compile All Combinations | ||
|
||
# Here we tell GitHub when to run the workflow. | ||
on: | ||
# This allows you to run this workflow manually from the | ||
# GitHub Actions tab. | ||
workflow_dispatch: | ||
# The workflow is run upon creating, editing, | ||
# pre-releasing, releasing and publishing a release | ||
release: | ||
types: [created, edited, prereleased, released, published] | ||
|
||
# This is the list of jobs that will be run concurrently. | ||
# Since we use a build matrix, the actual number of jobs | ||
# started depends on how many configurations the matrix | ||
# will produce. | ||
jobs: | ||
# This is the name of the job. | ||
build-matrix: | ||
|
||
# Here we tell GitHub that the jobs must be determined | ||
# dynamically depending on a matrix configuration. | ||
strategy: | ||
# The matrix will produce one job for each combination of parameters. | ||
matrix: | ||
# This is the development board hardware for which the code will be compiled. | ||
# FBQN stands for "fully qualified board name", and is used by Arduino to define the hardware to compile for. | ||
fqbn: | ||
- esp32:esp32:esp32 | ||
# further ESP32 chips | ||
#- esp32:esp32:esp32c3 | ||
#- esp32:esp32:esp32c2 | ||
#- esp32:esp32:esp32c6 | ||
#- esp32:esp32:esp32h2 | ||
#- esp32:esp32:esp32s3 | ||
# These are the batteries for which the code will be compiled. | ||
battery: | ||
- BMW_I3_BATTERY | ||
- CHADEMO_BATTERY | ||
- IMIEV_CZERO_ION_BATTERY | ||
- KIA_HYUNDAI_64_BATTERY | ||
- NISSAN_LEAF_BATTERY | ||
- RENAULT_ZOE_BATTERY | ||
- TESLA_MODEL_3_BATTERY | ||
# These are the emulated inverter communication protocols for which the code will be compiled. | ||
inverter: | ||
- BYD_CAN | ||
- BYD_MODBUS | ||
- LUNA2000_MODBUS | ||
- PYLON_CAN | ||
- SMA_CAN | ||
- SOFAR_CAN | ||
- SOLAX_CAN | ||
|
||
# This is the platform GitHub will use to run our workflow. | ||
runs-on: ubuntu-latest | ||
|
||
# This is the list of steps this job will run. | ||
steps: | ||
# First we clone the repo using the `checkout` action. | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
# We use the `arduino/setup-arduino-cli` action to install and | ||
# configure the Arduino CLI on the system. | ||
- name: Setup Arduino CLI | ||
uses: arduino/setup-arduino-cli@v1 | ||
|
||
# We then install the platform. | ||
- name: Install platform | ||
run: | | ||
arduino-cli core update-index | ||
arduino-cli core install esp32:esp32 | ||
# Finally, we compile the sketch, using the FQBN that was set | ||
# in the build matrix, and using build flags to define the | ||
# battery and inverter set in the build matrix. | ||
- name: Compile Sketch | ||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software |
This file contains 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,77 @@ | ||
# This is the name of the workflow, visible on GitHub UI. | ||
name: Compile All Inverters | ||
|
||
# Here we tell GitHub when to run the workflow. | ||
on: | ||
# The workflow is run when a commit is pushed or for a | ||
# Pull Request. | ||
- push | ||
- pull_request | ||
|
||
# This is the list of jobs that will be run concurrently. | ||
# Since we use a build matrix, the actual number of jobs | ||
# started depends on how many configurations the matrix | ||
# will produce. | ||
jobs: | ||
# This is the name of the job. | ||
build-inverters: | ||
|
||
# Here we tell GitHub that the jobs must be determined | ||
# dynamically depending on a matrix configuration. | ||
strategy: | ||
# The matrix will produce one job for each combination of parameters. | ||
matrix: | ||
# This is the development board hardware for which the code will be compiled. | ||
# FBQN stands for "fully qualified board name", and is used by Arduino to define the hardware to compile for. | ||
fqbn: | ||
- esp32:esp32:esp32 | ||
# further ESP32 chips | ||
#- esp32:esp32:esp32c3 | ||
#- esp32:esp32:esp32c2 | ||
#- esp32:esp32:esp32c6 | ||
#- esp32:esp32:esp32h2 | ||
#- esp32:esp32:esp32s3 | ||
# These are the batteries for which the code will be compiled. | ||
battery: | ||
# - BMW_I3_BATTERY | ||
# - CHADEMO_BATTERY | ||
# - IMIEV_CZERO_ION_BATTERY | ||
# - KIA_HYUNDAI_64_BATTERY | ||
- NISSAN_LEAF_BATTERY | ||
# - RENAULT_ZOE_BATTERY | ||
# - TESLA_MODEL_3_BATTERY | ||
# These are the emulated inverter communication protocols for which the code will be compiled. | ||
inverter: | ||
- BYD_CAN | ||
- BYD_MODBUS | ||
- LUNA2000_MODBUS | ||
- PYLON_CAN | ||
- SMA_CAN | ||
- SOFAR_CAN | ||
- SOLAX_CAN | ||
|
||
# This is the platform GitHub will use to run our workflow. | ||
runs-on: ubuntu-latest | ||
|
||
# This is the list of steps this job will run. | ||
steps: | ||
# First we clone the repo using the `checkout` action. | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
|
||
# We use the `arduino/setup-arduino-cli` action to install and | ||
# configure the Arduino CLI on the system. | ||
- name: Setup Arduino CLI | ||
uses: arduino/setup-arduino-cli@v1 | ||
|
||
# We then install the platform. | ||
- name: Install platform | ||
run: | | ||
arduino-cli core update-index | ||
arduino-cli core install esp32:esp32 | ||
# Finally, we compile the sketch, using the FQBN that was set | ||
# in the build matrix, and using build flags to define the | ||
# battery and inverter set in the build matrix. | ||
- name: Compile Sketch | ||
run: arduino-cli compile --fqbn ${{ matrix.fqbn }} --build-property "build.extra_flags=-DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software |
This file was deleted.
Oops, something went wrong.
This file contains 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