Adding PTC! (Beta) #845
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
name: Compile Examples | |
on: | |
pull_request: | |
paths: | |
- ".github/workflows/compile-examples.yml" | |
- "megaavr/libraries/**" | |
- "megaavr/cores/**" | |
- "megaavr/variants/**" | |
- "megaavr/*.txt" | |
push: | |
paths: | |
- ".github/workflows/compile-examples.yml" | |
- "megaavr/libraries/**" | |
- "megaavr/cores/**" | |
- "megaavr/variants/**" | |
- "megaavr/*.txt" | |
# workflow_dispatch event allows the workflow to be triggered manually | |
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#workflow_dispatch | |
workflow_dispatch: | |
# repository_dispatch event allows the workflow to be triggered via the GitHub API | |
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows#repository_dispatch | |
repository_dispatch: | |
jobs: | |
compile-examples: | |
runs-on: ubuntu-latest | |
env: | |
platform-name: megaTinyCore:megaavr | |
bootloader-optiboot-o-flash-7_5kB-plus-true-sketch-paths: | | |
- megaavr/libraries/Optiboot_flasher/examples/Flash_put_get | |
available-flash-7_5kB-plus-true-sketch-paths: | | |
- megaavr/libraries/EEPROM/examples/eeprom_get | |
- megaavr/libraries/USERSIG/examples/usersig_get | |
- megaavr/libraries/SPI/examples/BarometricPressureSensor | |
- megaavr/libraries/SoftwareSerial/examples/TwoPortReceive | |
- megaavr/libraries/Wire/examples/SFRRanger_reader | |
- megaavr/libraries/tinyNeoPixel/examples/RGBWstrandtest | |
- megaavr/extras/CompileTestSketches/test_analog_read | |
- megaavr/libraries/Wire/examples/slave_address_mask | |
- megaavr/libraries/Wire/examples/master_multi_address_write | |
available-flash-7_5kB-plus-true-1620only-sketch-paths: | | |
- megaavr/libraries/megaTinyCore/examples/megaTinyTuner | |
available-flash-4kB-plus-true-sketch-paths: | | |
- megaavr/libraries/SoftwareSerial/examples/SoftwareSerialExample | |
available-flash-3_5kB-plus-true-sketch-paths: | | |
- megaavr/libraries/EEPROM/examples/eeprom_crc | |
- megaavr/libraries/EEPROM/examples/eeprom_put | |
- megaavr/libraries/EEPROM/examples/eeprom_read | |
- megaavr/libraries/USERSIG/examples/usersig_crc | |
- megaavr/libraries/USERSIG/examples/usersig_put | |
- megaavr/libraries/USERSIG/examples/usersig_read | |
- megaavr/libraries/Wire/examples/digital_potentiometer | |
- megaavr/libraries/Wire/examples/slave_write_read | |
- megaavr/libraries/Wire/examples/master_and_slave | |
- megaavr/libraries/Wire/examples/master_write_read | |
- megaavr/libraries/Wire/examples/slave_secondary_address | |
- megaavr/libraries/megaTinyCore/examples/ModernRevSer | |
- megaavr/libraries/megaTinyCore/examples/readTempVcc | |
- megaavr/libraries/megaTinyCore/examples/ErsatzReset | |
- megaavr/libraries/megaTinyCore/examples/ErsatzReset_2 | |
- megaavr/libraries/tinyNeoPixel/examples/buttoncycler | |
- megaavr/libraries/tinyNeoPixel/examples/simple | |
- megaavr/libraries/tinyNeoPixel/examples/strandtest | |
- megaavr/libraries/tinyNeoPixel_Static/examples/buttoncycler | |
- megaavr/libraries/tinyNeoPixel_Static/examples/strandtest | |
available-flash-2kB-plus-true-sketch-paths: | | |
- megaavr/extras/CompileTestSketches/test_digital_io | |
- megaavr/extras/CompileTestSketches/test_macros | |
available-flash-1_5kB-plus-true-sketch-paths: | | |
- megaavr/libraries/EEPROM/examples/eeprom_clear | |
- megaavr/libraries/EEPROM/examples/eeprom_iteration | |
- megaavr/libraries/EEPROM/examples/eeprom_update | |
- megaavr/libraries/EEPROM/examples/eeprom_write | |
- megaavr/libraries/USERSIG/examples/usersig_clear | |
- megaavr/libraries/USERSIG/examples/usersig_iteration | |
- megaavr/libraries/USERSIG/examples/usersig_update | |
- megaavr/libraries/USERSIG/examples/usersig_write | |
- megaavr/libraries/Logic/examples/Three_input_AND | |
- megaavr/libraries/Logic/examples/Modulate | |
- megaavr/libraries/Logic/examples/Oscillate | |
- megaavr/libraries/Logic/examples/LatchNoSeq | |
- megaavr/libraries/SPI/examples/DigitalPotControl | |
- megaavr/libraries/tinyNeoPixel_Static/examples/simple | |
- megaavr/extras/CompileTestSketches/timing/test_millis_micros | |
free-TCB-flash-3.5kB-plus-true-sketch-paths: | | |
- megaavr/extras/CompileTestSketches/timing/test_tone | |
- megaavr/libraries/Servo/examples/Knob | |
- megaavr/libraries/Servo/examples/ServoMaxTest | |
- megaavr/libraries/Servo/examples/Sweep | |
- megaavr/libraries/Servo_megaTinyCore/examples/Knob | |
- megaavr/libraries/Servo_megaTinyCore/examples/ServoMaxTest | |
- megaavr/libraries/Servo_megaTinyCore/examples/Sweep | |
- megaavr/libraries/Comparator/examples/Hysteresis | |
- megaavr/libraries/Comparator/examples/Internal_reference | |
- megaavr/libraries/Comparator/examples/Interrupt | |
- megaavr/libraries/Comparator/examples/Simple_comparator | |
- megaavr/libraries/Event/examples/Simple_event | |
IO-class-6-plus-true-sketch-paths: | | |
- megaavr/libraries/Logic/examples/Five_input_NOR | |
IO-class-2-series-1-sketch-paths: | | |
- megaavr/libraries/megaTinyCore/examples/TCA0Demo3 | |
Series-1-available-flash-16kB-plus-true-1620only-sketch-paths: | | |
- megaavr/libraries/megaTinyCore/examples/SelfTuning | |
Series-2-available-flash-16kB-plus-true-1620only-sketch-paths: | | |
- megaavr/libraries/megaTinyCore/examples/SelfTuning | |
strategy: | |
fail-fast: false | |
matrix: | |
flash-class: | |
- 32 | |
- 16 | |
- 8 | |
- 4 | |
- 2 | |
peripheral-class: | |
- 2 | |
- 1 | |
- 0 | |
IO-class: | |
- 7 | |
- 6 | |
- 4 | |
- 2 | |
bootloader-series: | |
- y | |
- 2 | |
bootloader-code: | |
- | |
- o | |
# Filter out these matrix combinations | |
exclude: | |
- flash-class: 32 | |
peripheral-class: 0 | |
- flash-class: 32 | |
IO-class: 4 | |
- flash-class: 32 | |
IO-class: 2 | |
- flash-class: 16 | |
IO-class: 2 | |
- flash-class: 8 | |
IO-class: 2 | |
- flash-class: 4 | |
peripheral-class: 0 | |
IO-class: 7 | |
- flash-class: 2 | |
IO-class: 7 | |
- flash-class: 2 | |
IO-class: 6 | |
- flash-class: 2 | |
peripheral-class: 2 | |
- IO-class: 2 | |
peripheral-class: 2 | |
- peripheral-class: 2 | |
bootloader-code: o | |
bootloader-series: y | |
- peripheral-class: 2 | |
bootloader-code: | |
bootloader-series: 2 | |
- peripheral-class: 1 | |
bootloader-series: 2 | |
- peripheral-class: 0 | |
bootloader-series: 2 | |
include: | |
- flash-class: 32 | |
bootloader-code: | |
available-flash-kB: 32 | |
bootloader-series: y | |
- flash-class: 32 | |
bootloader-code: o | |
available-flash-kB: 31.5 | |
- flash-class: 16 | |
bootloader-code: | |
available-flash-kB: 16 | |
bootloader-series: y | |
- flash-class: 16 | |
bootloader-code: o | |
available-flash-kB: 15.5 | |
- flash-class: 8 | |
bootloader-code: | |
available-flash-kB: 8 | |
bootloader-series: y | |
- flash-class: 8 | |
bootloader-code: o | |
available-flash-kB: 7.5 | |
- flash-class: 4 | |
bootloader-code: | |
available-flash-kB: 4 | |
bootloader-series: y | |
- flash-class: 4 | |
bootloader-code: o | |
available-flash-kB: 3.5 | |
- flash-class: 2 | |
bootloader-code: | |
available-flash-kB: 2 | |
bootloader-series: y | |
- flash-class: 2 | |
bootloader-code: o | |
available-flash-kB: 1.5 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
# See: https://github.com/arduino/compile-sketches/README.md | |
- name: Compile examples (all default) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},wiremode=mors,attach=allenabled,PWMmux=default | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-7_5kB-plus-{0}-1620only-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, (matrix.available-flash-kB >= 7.5))] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
${{ env[format('Series-{0}-available-flash-16kB-plus-{1}-1620only-sketch-paths', matrix.peripheral-class, matrix.available-flash-kB >= 15.5)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (disable millis) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},millis=disabled,wiremode=mands,attach=manual,PWMmux=buffered | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-7_5kB-plus-{0}-1620only-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
${{ env[format('Series-{0}-available-flash-16kB-plus-{1}-1620only-sketch-paths', matrix.peripheral-class, matrix.available-flash-kB >= 15.5)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (TCB0 millis) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},millis=timerb0,wiremode=mors,attach=manual,PWMmux=I3 | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-7_5kB-plus-{0}-1620only-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', (matrix.available-flash-kB >= 3.5 && (matrix.peripheral-class == 2 || (matrix.peripheral-class == 1 && matrix.available-flash-kB >= 15.5))))] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (RTC millis) | |
uses: arduino/compile-sketches@main | |
with: | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},millis=rtc,wiremode=mands,attach=allenabled,PWMmux=buffered | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-7_5kB-plus-{0}-1620only-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
${{ env[format('Series-{0}-available-flash-16kB-plus-{1}-1620only-sketch-paths', matrix.peripheral-class, matrix.available-flash-kB >= 15.5)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (default millis, 8 MHz) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},clock${{ matrix.bootloader-code }}=8internal,wiremode=mors,attach=oldversion,PWMmux=I3 | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (default millis, clock 25 MHz internal, tuned) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},clock${{ matrix.bootloader-code }}=25internaltuned,wiremode=mors,attach=oldversion,PWMmux=buffered | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (default millis, clock 24 MHz external) | |
uses: arduino/compile-sketches@main | |
with: | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},clock${{ matrix.bootloader-code }}=24extclock,wiremode=mors,attach=oldversion,PWMmux=default | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (default millis, clock 8 MHz internal, tuned) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},clock${{ matrix.bootloader-code }}=8internaltuned,wiremode=mors,attach=oldversion,PWMmux=default | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports | |
- name: Compile examples (default millis, clock 1 MHz internal, tuned) | |
uses: arduino/compile-sketches@main | |
with: | |
cli-version: 0.33.0 | |
fqbn: ${{ env.platform-name }}:atx${{ matrix.bootloader-series}}${{ matrix.IO-class }}${{ matrix.bootloader-code }}:chip=${{ matrix.flash-class }}${{ matrix.peripheral-class }}${{ matrix.IO-class }},clock${{ matrix.bootloader-code }}=1internaltuned,wiremode=mors,attach=oldversion,PWMmux=default | |
sketch-paths: | | |
# It's necessary to jump through some hoops to dynamically generate the env object keys to define the non-universal sketch paths | |
# https://docs.github.com/en/free-pro-team@latest/actions/reference/context-and-expression-syntax-for-github-actions#format | |
${{ env[format('available-flash-7_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('available-flash-4kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 4)] }} | |
${{ env[format('available-flash-3_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('available-flash-2kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 2)] }} | |
${{ env[format('available-flash-1_5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 1.5)] }} | |
${{ env[format('free-TCB-flash-3.5kB-plus-{0}-sketch-paths', matrix.available-flash-kB >= 3.5)] }} | |
${{ env[format('bootloader-optiboot-{0}-flash-7_5kB-plus-{1}-sketch-paths', matrix.bootloader-code, matrix.available-flash-kB >= 7.5)] }} | |
${{ env[format('IO-class-4-plus-{0}-sketch-paths', matrix.IO-class >= 4)] }} | |
${{ env[format('IO-class-{0}-series-{1}-sketch-paths', matrix.IO-class, matrix.peripheral-class)] }} | |
platforms: | | |
# Install megaTinyCore via Boards Manager for the toolchain | |
- source-url: http://drazzy.com/package_drazzy.com_index.json | |
name: ${{ env.platform-name }} | |
# Overwrite the megaTinyCore release version with the platform from the local path | |
- source-path: megaavr | |
name: ${{ env.platform-name }} | |
libraries: | | |
# The sketches don't have any external library dependencies, so just define an empty array | |
- | |
verbose: false | |
enable-deltas-report: true | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
enable-warnings-report: true | |
sketches-report-path: sketches-reports |