| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- # This is the name of the workflow, visible on GitHub UI.
- name: TaskScheduler Examples Build
- # Controls when the action will run.
- on:
- # Triggers the workflow on push or pull request only for the main branch
- push:
- branches: [ main ]
- pull_request:
- branches: [ main ]
- workflow_dispatch:
- # 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 - can be whatever.
- ArduinoIDE:
- # Here we tell GitHub that the jobs must be determined
- # dynamically depending on a matrix configuration.
- strategy:
- matrix:
- # The matrix will produce one job for each configuration
- # parameter of type `arduino-platform`, in this case, it
- # is only 1.
- arduino-platform: ["arduino:avr"]
- # This is usually optional but we need to statically define the
- # FQBN of the boards we want to test for each platform. In the
- # future the CLI might automatically detect and download the
- # core needed to compile against a certain FQBN, at that point
- # the following `include` section will be useless.
- include:
- # This works like this: when the platformn is "arduino:avr",
- # the variable `fqbn` is set to "arduino:avr:uno".
- - arduino-platform: "arduino:avr"
- fqbn: "arduino:avr:uno"
- - arduino-platform: "esp32:esp32"
- fqbn: "esp32:esp32:esp32"
- # This is the platform GitHub will use to run our workflow,
- # I picked ubuntu.
- runs-on: ubuntu-latest
- # This is the list of steps this job will run.
- steps:
- # First of all, we clone the repo using the `checkout` action.
- - name: Checkout
- uses: actions/checkout@main
- # 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.1.1
-
-
- # We then install the platform, which one will be determined
- # dynamically by the build matrix.
- - name: Install platform
- run: |
- arduino-cli core update-index
- arduino-cli core install ${{ matrix.arduino-platform }}
- - name: Install repo as library
- run: |
- mkdir -p "$HOME/Arduino/libraries"
- ln -s "$PWD" "$HOME/Arduino/libraries/."
-
- # Finally, we compile the sketch, using the FQBN that was set
- # in the build matrix.
- - name: Scheduler_example00_Blink
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example00_Blink --warnings more
- - name: Scheduler_example00_Blink_Namespace
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example00_Blink_Namespace --warnings more
- - name: Scheduler_example01
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example01 --warnings more
- - name: Scheduler_example02
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example02 --warnings more
- - name: Scheduler_example03
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example03 --warnings more
- - name: Scheduler_example04_StatusRequest
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example04_StatusRequest --warnings more
- - name: Scheduler_example05_StatusRequest
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example05_StatusRequest --warnings more
- - name: Scheduler_example06_IDLE
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example06_IDLE --warnings more
- - name: Scheduler_example07_WDT
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example07_WDT --warnings more
- - name: Scheduler_example08_LTS
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example08_LTS --warnings more
- - name: Scheduler_example09_TimeCritical
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example09_TimeCritical --warnings more
- - name: Scheduler_example10_Benchmark
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example10_Benchmark --warnings more
- - name: Scheduler_example11_Priority
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example11_Priority --warnings more
- - name: Scheduler_example12_Priority
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example12_Priority --warnings more
- - name: Scheduler_example13_Micros
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example13_Micros --warnings more
- # - name: Scheduler_example14_Yield # this is esp8266 only example
- # run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example14_Yield --warnings more
- ArduinoIDE_ESP8266_ONLY:
- strategy:
- matrix:
- include:
- - arduino-platform: "esp8266:esp8266"
- fqbn: "esp8266:esp8266:nodemcuv2"
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@main
- - name: Setup Arduino CLI
- uses: arduino/setup-arduino-cli@v1.1.1
- - name: Install platform
- run: |
- arduino-cli core update-index
- arduino-cli core install ${{ matrix.arduino-platform }}
- - name: Install repo as library
- run: |
- mkdir -p "$HOME/Arduino/libraries"
- ln -s "$PWD" "$HOME/Arduino/libraries/."
- - name: Scheduler_example14_Yield
- run: arduino-cli compile --fqbn ${{ matrix.fqbn }} ./examples/Scheduler_example14_Yield --warnings more
|