From 83ccb3228b486a36d40257bdd3732b60bc28a360 Mon Sep 17 00:00:00 2001 From: per1234 Date: Tue, 12 Jan 2021 22:15:41 -0800 Subject: [PATCH] Add "smoke test" examples compilation CI workflow On every push or pull request that affects library source or example files, compile all example sketches for the specified boards. --- .github/workflows/compile-examples.yml | 50 ++++++++++++++++++++++++++ .travis.yml | 48 ------------------------- README.adoc | 10 ++++-- 3 files changed, 57 insertions(+), 51 deletions(-) create mode 100644 .github/workflows/compile-examples.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/compile-examples.yml b/.github/workflows/compile-examples.yml new file mode 100644 index 00000000..9691a607 --- /dev/null +++ b/.github/workflows/compile-examples.yml @@ -0,0 +1,50 @@ +name: Compile Examples + +on: + pull_request: + paths: + - ".github/workflows/compile-examples.yml" + - "examples/**" + - "src/**" + push: + paths: + - ".github/workflows/compile-examples.yml" + - "examples/**" + - "src/**" + # Scheduled trigger checks for breakage caused by changes to external resources (libraries, platforms) + schedule: + # run every Saturday at 3 AM UTC + - cron: "0 3 * * 6" + # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#workflow_dispatch + workflow_dispatch: + # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#repository_dispatch + repository_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + + matrix: + board: + - fqbn: arduino:samd:mkrwifi1010 + - fqbn: arduino:samd:mkrvidor4000 + - fqbn: arduino:megaavr:uno2018:mode=on + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Compile examples + uses: arduino/compile-sketches@main + with: + fqbn: ${{ matrix.board.fqbn }} + libraries: | + # Install the library from the local path. + - source-path: ./ + # Install library dependencies. + - name: VidorPeripherals + sketch-paths: | + - ./examples/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index acfbccce..00000000 --- a/.travis.yml +++ /dev/null @@ -1,48 +0,0 @@ -language: generic -env: - global: - - IDE_VERSION=1.8.5 - matrix: - - BOARD="arduino:samd:mkrwifi1010" - - BOARD="arduino:samd_beta:mkrvidor4000" - - BOARD="arduino:megaavr:uno2018:mode=on" -before_install: - - wget http://downloads.arduino.cc/arduino-$IDE_VERSION-linux64.tar.xz - - tar xf arduino-$IDE_VERSION-linux64.tar.xz - - mv arduino-$IDE_VERSION $HOME/arduino-ide - - export PATH=$PATH:$HOME/arduino-ide - - if [[ "$BOARD" =~ "arduino:samd:" ]]; then - arduino --install-boards arduino:samd; - fi - - if [[ "$BOARD" =~ "arduino:samd_beta:" ]]; then - arduino --install-boards arduino:samd_beta; - arduino --install-library VidorPeripherals; - fi - - if [[ "$BOARD" =~ "arduino:megaavr:" ]]; then - arduino --install-boards arduino:megaavr; - fi - - buildExampleSketch() { arduino --verbose-build --verify --board $BOARD $PWD/examples/$1/$1.ino; } - - buildExampleToolsSketch() { arduino --verbose-build --verify --board $BOARD $PWD/examples/Tools/$1/$1.ino; } -install: - - mkdir -p $HOME/Arduino/libraries - - ln -s $PWD $HOME/Arduino/libraries/. -script: - - buildExampleSketch AP_SimpleWebServer - - buildExampleSketch ConnectNoEncryption - - buildExampleSketch ConnectWithWEP - - buildExampleSketch ConnectWithWPA - - buildExampleSketch ConnectWithWPA2Enterprise - - buildExampleSketch ScanNetworks - - buildExampleSketch ScanNetworksAdvanced - - buildExampleSketch SimpleWebServerWiFi - - buildExampleSketch WiFiChatServer - - buildExampleSketch WiFiPing - - buildExampleSketch WiFiSSLClient - - buildExampleSketch WiFiUdpNtpClient - - buildExampleSketch WiFiUdpSendReceiveString - - buildExampleSketch WiFiWebClient - - buildExampleSketch WiFiWebClientRepeating - - buildExampleSketch WiFiWebServer - - buildExampleToolsSketch CheckFirmwareVersion - - buildExampleToolsSketch FirmwareUpdater; - - buildExampleToolsSketch SerialNINAPassthrough; diff --git a/README.adoc b/README.adoc index cba68605..783984f0 100644 --- a/README.adoc +++ b/README.adoc @@ -1,14 +1,18 @@ -= WiFiNINA Library for Arduino = +// Define the repository information in these attributes +:repository-owner: arduino-libraries +:repository-name: WiFiNINA + = {repository-name} library for Arduino = -image:https://travis-ci.org/arduino-libraries/WiFiNINA.svg?branch=master["Build Status", link="https://travis-ci.org/arduino-libraries/WiFiNINA"] +image:https://github.com/{repository-owner}/{repository-name}/workflows/Compile%20Examples/badge.svg["Compile Examples Status", link="https://github.com/{repository-owner}/{repository-name}/actions?workflow=Compile+Examples"] +image:https://github.com/{repository-owner}/{repository-name}/workflows/Spell%20Check/badge.svg["Spell Check Status", link="https://github.com/{repository-owner}/{repository-name}/actions?workflow=Spell+Check"] Enables network connection (local and Internet) with the Arduino MKR WiFi 1010, Arduino MKR VIDOR 4000 and Arduino UNO WiFi Rev.2. With this library you can instantiate Servers, Clients and send/receive UDP packets through WiFi. The board can connect either to open or encrypted networks (WEP, WPA). The IP address can be assigned statically or through a DHCP. The library can also manage DNS. For more information about this library please visit us at -http://www.arduino.cc/en/Reference/WiFiNINA +https://www.arduino.cc/en/Reference/{repository-name} == License ==