Skip to content

Fix 10 second delay in WiFiClient read methods when no data is available to read #931

Fix 10 second delay in WiFiClient read methods when no data is available to read

Fix 10 second delay in WiFiClient read methods when no data is available to read #931

name: Compile Examples
on:
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "cores/**"
- "extras/**"
- "libraries/**"
- "variants/**"
- "boards.txt"
- "platform.txt"
push:
paths:
- ".github/workflows/compile-examples.yml"
- "cores/**"
- "extras/**"
- "libraries/**"
- "variants/**"
- "boards.txt"
- "platform.txt"
jobs:
compile-test:
runs-on: ubuntu-latest
permissions: {}
env:
# sketch paths to compile (recursive) for all boards
UNIVERSAL_SKETCH_PATHS: |
- libraries/AnalogWave
- libraries/Arduino_CAN/examples/CANRead
- libraries/Arduino_CAN/examples/CANWrite
- libraries/Arduino_FreeRTOS
- libraries/EEPROM
- libraries/RTC/examples/RTC_AutomaticExample
- libraries/RTC/examples/RTC_PeriodicExample
- libraries/RTC/examples/Test_RTC
- libraries/SoftwareSerial
- libraries/WDT
SKETCHES_REPORTS_PATH: sketches-reports
strategy:
fail-fast: false
matrix:
board:
- fqbn: arduino:renesas_portenta:portenta_c33
id: c33
- fqbn: arduino:renesas_uno:minima
id: minima
- fqbn: arduino:renesas_uno:unor4wifi
id: wifi
- fqbn: arduino-git:renesas:portenta_c33
id: git_c33
- fqbn: arduino-git:renesas:minima
id: git_minima
- fqbn: arduino-git:renesas:unor4wifi
id: git_wifi
# make board type-specific customizations to the matrix jobs
include:
- board:
fqbn: "arduino:renesas_portenta:portenta_c33"
additional-sketch-paths: |
- libraries/WiFi
- libraries/UsbMsd
- libraries/UsbHostMsd
- libraries/Storage
- libraries/SSLClient
- libraries/SE05X
- libraries/Ethernet
- libraries/Arduino_CAN/examples/CAN1Read
- libraries/Arduino_CAN/examples/CAN1Write
- libraries/RTC/examples/RTC_NTPSync
- libraries/RTC/examples/RTC_Alarm
- libraries/SFU
- libraries/KVStore/examples/StartCounter
- board:
fqbn: "arduino-git:renesas:portenta_c33"
additional-sketch-paths: |
- libraries/WiFi
- libraries/UsbMsd
- libraries/UsbHostMsd
- libraries/Storage
- libraries/SSLClient
- libraries/SE05X
- libraries/Ethernet
- libraries/Arduino_CAN/examples/CAN1Read
- libraries/Arduino_CAN/examples/CAN1Write
- libraries/RTC/examples/RTC_NTPSync
- libraries/RTC/examples/RTC_Alarm
- libraries/SFU
- libraries/KVStore/examples/StartCounter
- board:
fqbn: "arduino:renesas_uno:unor4wifi"
additional-sketch-paths: |
- libraries/Arduino_LED_Matrix
- libraries/WiFiS3
- libraries/OTAUpdate
- board:
fqbn: "arduino-git:renesas:unor4wifi"
additional-sketch-paths: |
- libraries/Arduino_LED_Matrix
- libraries/WiFiS3
- libraries/OTAUpdate
- libraries/OPAMP
- libraries/SoftwareATSE
- libraries/Preferences
- board:
fqbn: "arduino-git:renesas:minima"
additional-sketch-paths: |
- libraries/OPAMP
steps:
- name: Checkout repository
uses: actions/checkout@v4
# The source files are in a subfolder of the ArduinoCore-API repository, so it's not possible to clone it directly to the final destination in the core
- name: Checkout ArduinoCore-API
uses: actions/checkout@v4
with:
repository: arduino/ArduinoCore-API
path: extras/ArduinoCore-API
- name: Check if API should be compiled in the core
id: checkapi
run: |
if [[ $(grep -r api platform.txt) ]]; then echo "::set-output name=IS_API::true"; fi
- name: Install ArduinoCore-API
run: rm "$GITHUB_WORKSPACE/cores/arduino/api" && mv "$GITHUB_WORKSPACE/extras/ArduinoCore-API/api" "$GITHUB_WORKSPACE/cores/arduino"
if: steps.checkapi.outputs.IS_API == 'true'
- name: Checkout Basic examples
uses: actions/checkout@v4
with:
repository: arduino/arduino-examples
path: examples
- name: Submodule update
run: git submodule init && git submodule update
- name: List files in core
run: tree extras/
- name: Compile examples
uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.board.fqbn }}
libraries: |
- name: Keyboard
- name: Mouse
- name: Servo
- name: LiquidCrystal
- name: CapacitiveSensor
- name: Ethernet
- name: ArduinoHttpClient
- name: NTPClient
- name: ArduinoMqttClient
- name: Stepper
- name: SD
- name: Arduino_JSON
- name: ArduinoBLE
- name: Firmata
- name: ArduinoModbus
- name: ArduinoDMX
- name: ArduinoRS485
- name: ArduinoIoTCloud
- name: ArduinoGraphics
platforms: |
# Use Board Manager to install the latest release of Arduino Renesas Boards to get the toolchain
- name: "arduino:renesas_uno"
- name: "arduino:renesas_portenta"
# Overwrite the Board Manager installation with the local platform
- source-path: "./"
name: "arduino-git:renesas"
sketch-paths: |
${{ env.UNIVERSAL_SKETCH_PATHS }}
${{ matrix.additional-sketch-paths }}
enable-deltas-report: 'false'
verbose: 'true'
github-token: ${{ secrets.GITHUB_TOKEN }}
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
- name: Save memory usage change report as artifact
uses: actions/upload-artifact@v4
with:
path: ${{ env.SKETCHES_REPORTS_PATH }}
name: sketches-reports-${{ matrix.board.id }}