Code refactoring to make the code easier to read #2900
Workflow file for this run
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
# 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 | |
- BMW_IX_BATTERY | |
- BYD_ATTO_3_BATTERY | |
- CELLPOWER_BMS | |
- CHADEMO_BATTERY | |
- IMIEV_CZERO_ION_BATTERY | |
- JAGUAR_IPACE_BATTERY | |
- KIA_E_GMP_BATTERY | |
- KIA_HYUNDAI_64_BATTERY | |
- KIA_HYUNDAI_HYBRID_BATTERY | |
- MEB_BATTERY | |
- MG_5_BATTERY | |
- NISSAN_LEAF_BATTERY | |
- PYLON_BATTERY | |
- RJXZS_BMS | |
- RANGE_ROVER_PHEV_BATTERY | |
- RENAULT_KANGOO_BATTERY | |
- RENAULT_TWIZY_BATTERY | |
- RENAULT_ZOE_GEN1_BATTERY | |
- RENAULT_ZOE_GEN2_BATTERY | |
- SANTA_FE_PHEV_BATTERY | |
- TESLA_MODEL_3Y_BATTERY | |
- TESLA_MODEL_SX_BATTERY | |
- VOLVO_SPA_BATTERY | |
- TEST_FAKE_BATTERY | |
- SERIAL_LINK_RECEIVER | |
# These are the emulated inverter communication protocols for which the code will be compiled. | |
inverter: | |
- BYD_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@v2 | |
# 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=-Wall -DESP32 -D${{ matrix.battery}} -D${{ matrix.inverter}}" ./Software |