mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-03 09:49:32 +02:00
Add workflow to build double batteries
This commit is contained in:
parent
7f6bda8434
commit
6a1f3ccfa4
1 changed files with 93 additions and 0 deletions
93
.github/workflows/compile-all-double-batteries.yml
vendored
Normal file
93
.github/workflows/compile-all-double-batteries.yml
vendored
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
# This is the name of the workflow, visible on GitHub UI.
|
||||||
|
name: Compile All Double 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.
|
||||||
|
jobs:
|
||||||
|
# This pre-job is run to skip workflows in case a workflow is already run, i.e. because the workflow is triggered by both push and pull_request
|
||||||
|
skip-duplicate-actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Map a step output to a job output
|
||||||
|
outputs:
|
||||||
|
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||||
|
steps:
|
||||||
|
- id: skip_check
|
||||||
|
uses: fkirc/skip-duplicate-actions@v5
|
||||||
|
with:
|
||||||
|
# All of these options are optional, so you can remove them if you are happy with the defaults
|
||||||
|
concurrent_skipping: 'never'
|
||||||
|
skip_after_successful_duplicate: 'true'
|
||||||
|
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]'
|
||||||
|
|
||||||
|
# Since we use a build matrix, the actual number of jobs
|
||||||
|
# started depends on how many configurations the matrix
|
||||||
|
# will produce.
|
||||||
|
build-batteries:
|
||||||
|
needs: skip-duplicate-actions
|
||||||
|
if: needs.skip-duplicate-actions.outputs.should_skip != 'true'
|
||||||
|
|
||||||
|
# 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
|
||||||
|
- BYD_ATTO_3_BATTERY
|
||||||
|
- KIA_HYUNDAI_64_BATTERY
|
||||||
|
- PYLON_BATTERY
|
||||||
|
- SANTA_FE_PHEV_BATTERY
|
||||||
|
- TEST_FAKE_BATTERY
|
||||||
|
# These are the emulated inverter communication protocols for which the code will be compiled.
|
||||||
|
inverter:
|
||||||
|
- BYD_CAN
|
||||||
|
# These are the supported hardware platforms for which the code will be compiled.
|
||||||
|
hardware:
|
||||||
|
- HW_LILYGO
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Copy USER_SECRETS.TEMPLATE.h to USER_SECRETS.h
|
||||||
|
- name: Copy USER_SECRETS.TEMPLATE.h to USER_SECRETS.h
|
||||||
|
run: cp ./Software/USER_SECRETS.TEMPLATE.h ./Software/USER_SECRETS.h
|
||||||
|
|
||||||
|
# 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 -Wextra -Wpedantic -Werror -DESP32 -DDOUBLE_BATTERY -D${{ matrix.battery}} -D${{ matrix.inverter}} -D${{ matrix.hardware}}" ./Software
|
Loading…
Add table
Add a link
Reference in a new issue