Replace strcpy by memcpy on String::concat(const char*, uint32_t); #185
  
    
      This file contains hidden or 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 | |
| # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows | |
| on: | |
| push: | |
| paths: | |
| - ".github/workflows/compile-platform-examples.ya?ml" | |
| - "cores/**" | |
| - "libraries/**" | |
| - "variants/**" | |
| - "boards.txt" | |
| - "platform.txt" | |
| pull_request: | |
| paths: | |
| - ".github/workflows/compile-platform-examples.ya?ml" | |
| - "cores/**" | |
| - "libraries/**" | |
| - "variants/**" | |
| - "boards.txt" | |
| - "platform.txt" | |
| workflow_dispatch: | |
| repository_dispatch: | |
| jobs: | |
| build: | |
| name: ${{ matrix.board.fqbn }} | |
| runs-on: ubuntu-latest | |
| env: | |
| SKETCHES_REPORTS_PATH: sketches-reports | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| board: | |
| - fqbn: arduino:avr:yun | |
| artifact-name-suffix: arduino-avr-yun | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:uno | |
| artifact-name-suffix: arduino-avr-uno | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:diecimila:cpu=atmega328 | |
| artifact-name-suffix: arduino-avr-diecimila-cpu-atmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:diecimila:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-diecimila-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:nano:cpu=atmega328 | |
| artifact-name-suffix: arduino-avr-nano-cpu-atmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:nano:cpu=atmega328old | |
| artifact-name-suffix: arduino-avr-nano-cpu-atmega328old | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:nano:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-nano-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:mega:cpu=atmega2560 | |
| artifact-name-suffix: arduino-avr-mega-cpu-atmega2560 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:mega:cpu=atmega1280 | |
| artifact-name-suffix: arduino-avr-mega-cpu-atmega1280 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:megaADK | |
| artifact-name-suffix: arduino-avr-megaADK | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:leonardo | |
| artifact-name-suffix: arduino-avr-leonardo | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:leonardoeth | |
| artifact-name-suffix: arduino-avr-leonardoeth | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:micro | |
| artifact-name-suffix: arduino-avr-micro | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:esplora | |
| artifact-name-suffix: arduino-avr-esplora | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:mini:cpu=atmega328 | |
| artifact-name-suffix: arduino-avr-mini-cpu-atmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:mini:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-mini-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:ethernet | |
| artifact-name-suffix: arduino-avr-ethernet | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:fio | |
| artifact-name-suffix: arduino-avr-fio | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:bt:cpu=atmega328 | |
| artifact-name-suffix: arduino-avr-bt-cpu-atmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:bt:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-bt-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:LilyPadUSB | |
| artifact-name-suffix: arduino-avr-LilyPadUSB | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:lilypad:cpu=atmega328 | |
| artifact-name-suffix: arduino-avr-lilypad-cpu-atmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:lilypad:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-lilypad-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:pro:cpu=16MHzatmega328 | |
| artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:pro:cpu=8MHzatmega328 | |
| artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega328 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:pro:cpu=16MHzatmega168 | |
| artifact-name-suffix: arduino-avr-pro-cpu-16MHzatmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:pro:cpu=8MHzatmega168 | |
| artifact-name-suffix: arduino-avr-pro-cpu-8MHzatmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:atmegang:cpu=atmega168 | |
| artifact-name-suffix: arduino-avr-atmegang-cpu-atmega168 | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:atmegang:cpu=atmega8 | |
| artifact-name-suffix: arduino-avr-atmegang-cpu-atmega8 | |
| serial: true | |
| softwareserial: false | |
| - fqbn: arduino:avr:robotControl | |
| artifact-name-suffix: arduino-avr-robotControl | |
| serial: true | |
| softwareserial: false | |
| - fqbn: arduino:avr:robotMotor | |
| artifact-name-suffix: arduino-avr-robotMotor | |
| serial: true | |
| softwareserial: false | |
| - fqbn: arduino:avr:gemma | |
| artifact-name-suffix: arduino-avr-gemma | |
| serial: false | |
| softwareserial: false | |
| - fqbn: arduino:avr:circuitplay32u4cat | |
| artifact-name-suffix: arduino-avr-circuitplay32u4cat | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:yunmini | |
| artifact-name-suffix: arduino-avr-yunmini | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:chiwawa | |
| artifact-name-suffix: arduino-avr-chiwawa | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:one | |
| artifact-name-suffix: arduino-avr-one | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:unowifi | |
| artifact-name-suffix: arduino-avr-unowifi | |
| serial: true | |
| softwareserial: true | |
| - fqbn: arduino:avr:unomini | |
| artifact-name-suffix: arduino-avr-unomini | |
| serial: true | |
| softwareserial: true | |
| # Make board type-specific customizations to the matrix jobs | |
| include: | |
| - board: | |
| # Boards with Serial interface | |
| serial: true | |
| # Compile these sketches in addition to the ones compiled for all boards | |
| serial-sketch-paths: | | |
| - libraries/EEPROM/examples/eeprom_crc | |
| - libraries/EEPROM/examples/eeprom_get | |
| - libraries/EEPROM/examples/eeprom_put | |
| - libraries/EEPROM/examples/eeprom_read | |
| - libraries/SPI | |
| - libraries/Wire | |
| - board: | |
| serial: false | |
| serial-sketch-paths: "" | |
| - board: | |
| # Boards compatible with the SoftwareSerial library | |
| softwareserial: true | |
| softwareserial-sketch-paths: | | |
| - libraries/SoftwareSerial | |
| - board: | |
| softwareserial: false | |
| softwareserial-sketch-paths: "" | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Compile examples | |
| uses: arduino/compile-sketches@v1 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| fqbn: ${{ matrix.board.fqbn }} | |
| platforms: | | |
| # Use Boards Manager to install the latest release of the platform to get the toolchain. | |
| - name: arduino:avr | |
| # Overwrite the Boards Manager installation with the platform from the repository. | |
| - source-path: ./ | |
| name: arduino:avr | |
| sketch-paths: | | |
| # Compile these sketches for all boards | |
| - libraries/EEPROM/examples/eeprom_clear | |
| - libraries/EEPROM/examples/eeprom_iteration | |
| - libraries/EEPROM/examples/eeprom_update | |
| - libraries/EEPROM/examples/eeprom_write | |
| # Board-specific sketches | |
| ${{ matrix.serial-sketch-paths }} | |
| ${{ matrix.softwareserial-sketch-paths }} | |
| enable-deltas-report: true | |
| sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} | |
| - name: Save sketches report as workflow artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| if-no-files-found: error | |
| path: ${{ env.SKETCHES_REPORTS_PATH }} | |
| name: sketches-report-${{ matrix.board.artifact-name-suffix }} |