Skip to content

Commit

Permalink
Merge pull request #91 from arduino-libraries/ci
Browse files Browse the repository at this point in the history
Modernize continuous integration system
  • Loading branch information
aentinger authored Apr 13, 2021
2 parents df53bf5 + 2f2044d commit a9ce4f0
Show file tree
Hide file tree
Showing 13 changed files with 200 additions and 37 deletions.
7 changes: 7 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# See: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = wan
check-filenames =
check-hidden =
skip = ./.git,./examples/MKRWANFWUpdate_standalone/dev_table.c,./examples/MKRWANFWUpdate_standalone/stm32.*,./examples/MKRWANFWUpdate_standalone/utils.*
10 changes: 10 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# See: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file
version: 2

updates:
# Configure check for outdated GitHub Actions actions in workflows.
# See: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
- package-ecosystem: github-actions
directory: / # Check the repository's workflows under /.github/workflows/
schedule:
interval: daily
28 changes: 28 additions & 0 deletions .github/workflows/check-arduino.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Check Arduino

# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
push:
pull_request:
schedule:
# Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint.
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:

jobs:
lint:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Arduino Lint
uses: arduino/arduino-lint-action@v1
with:
compliance: specification
library-manager: update
# Always use this setting for official repositories. Remove for 3rd party projects.
official: true
project-type: library
91 changes: 91 additions & 0 deletions .github/workflows/compile-examples.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
name: Compile Examples

# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
push:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
pull_request:
paths:
- ".github/workflows/compile-examples.yml"
- "examples/**"
- "src/**"
schedule:
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
- cron: "0 8 * * TUE"
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:samd:mkrwan1300
platforms: |
- name: arduino:samd
updater: true
- fqbn: arduino:samd:mkrwan1310
platforms: |
- name: arduino:samd
updater: true
- fqbn: arduino:mbed_portenta:envie_m4
platforms: |
- name: arduino:mbed_portenta
updater: false
- fqbn: arduino:mbed_portenta:envie_m7
platforms: |
- name: arduino:mbed_portenta
updater: true

# make board type-specific customizations to the matrix jobs
include:
- board:
updater: true
sketch-paths: |
- examples/FWUpdaterBridge
- examples/MKRWANFWUpdate_standalone
- board:
updater: false
sketch-paths: ""

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Compile examples
uses: arduino/compile-sketches@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
fqbn: ${{ matrix.board.fqbn }}
platforms: ${{ matrix.board.platforms }}
libraries: |
# Install the library from the local path.
- source-path: ./
- name: LoRa
sketch-paths: |
# Compile these sketches for all boards
- examples/DumbModemLoraSender
- examples/FirstConfiguration
- examples/LoraSendAndReceive
# Board-specific sketches
${{ matrix.sketch-paths }}
enable-deltas-report: true
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}

- name: Save sketches report as workflow artifact
uses: actions/upload-artifact@v2
with:
if-no-files-found: error
path: ${{ env.SKETCHES_REPORTS_PATH }}
name: ${{ env.SKETCHES_REPORTS_PATH }}
24 changes: 24 additions & 0 deletions .github/workflows/report-size-deltas.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Report Size Deltas

# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
push:
paths:
- ".github/workflows/report-size-deltas.yml"
schedule:
# Run at the minimum interval allowed by GitHub Actions.
# Note: GitHub Actions periodically has outages which result in workflow failures.
# In this event, the workflows will start passing again once the service recovers.
- cron: "*/5 * * * *"
workflow_dispatch:
repository_dispatch:

jobs:
report:
runs-on: ubuntu-latest
steps:
- name: Comment size deltas reports to PRs
uses: arduino/report-size-deltas@v1
with:
# The name of the workflow artifact created by the sketch compilation workflow
sketches-reports-source: sketches-reports
22 changes: 22 additions & 0 deletions .github/workflows/spell-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Spell Check

# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
on:
push:
pull_request:
schedule:
# Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:

jobs:
spellcheck:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Spell check
uses: codespell-project/actions-codespell@master
21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.

6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# MKRWAN

[![Build Status](https://travis-ci.org/arduino-libraries/MKRWAN.svg?branch=master)](https://travis-ci.org/arduino-libraries/MKRWAN)
[![Check Arduino status](https://github.com/arduino-libraries/MKRWAN/actions/workflows/check-arduino.yml/badge.svg)](https://github.com/arduino-libraries/MKRWAN/actions/workflows/check-arduino.yml)
[![Compile Examples status](https://github.com/arduino-libraries/MKRWAN/actions/workflows/compile-examples.yml/badge.svg)](https://github.com/arduino-libraries/MKRWAN/actions/workflows/compile-examples.yml)
[![Spell Check status](https://github.com/arduino-libraries/MKRWAN/actions/workflows/spell-check.yml/badge.svg)](https://github.com/arduino-libraries/MKRWAN/actions/workflows/spell-check.yml)

Provides APIs to communicate with LoRa and LoraWAN networks
Provides APIs to communicate with LoRa and LoRaWAN networks

For more information about this library please visit us at
https://www.arduino.cc/en/Reference/MKRWAN
Expand Down
8 changes: 4 additions & 4 deletions examples/DumbModemLoraSender/DumbModemLoraSender.ino
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
* https://github.com/sandeepmistry/arduino-LoRa
*
* Starting from https://github.com/sandeepmistry/arduino-LoRa/commit/5f62ed2ce9d1623bfc12f468b8152ba1878b5b16,
* LoRa library knows about MKRWAN1300/1310 and automatically restarts the module in dumb mode, uses SPI1 and the correct gpios.
* LoRa library knows about MKR WAN 1300/1310 and automatically restarts the module in dumb mode, uses SPI1 and the correct GPIOs.
*
* Since there is no IRQ pin available the host must poll for data (unfortunately)
* Since there is no IRQ pin available, the host must poll for data (unfortunately)
*
*/

Expand All @@ -30,8 +30,8 @@ void setup() {

Serial.println("LoRa Sender");

// Configure LoRa module to transmit and receive at 915MHz (915*10^6)
// Replace 915E6 with the frequency you need (eg. 433E6 for 433MHz)
// Configure LoRa module to transmit and receive at 915 MHz (915*10^6)
// Replace 915E6 with the frequency you need (eg. 433E6 for 433 MHz)
if (!LoRa.begin(915E6)) {
Serial.println("Starting LoRa failed!");
while (1);
Expand Down
2 changes: 1 addition & 1 deletion examples/FirstConfiguration/FirstConfiguration.ino
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
while (!Serial);
Serial.println("Welcome to MKRWAN1300/1310 first configuration sketch");
Serial.println("Welcome to MKR WAN 1300/1310 first configuration sketch");
Serial.println("Register to your favourite LoRa network and we are ready to go!");
// change this to your regional band (eg. US915, AS923, ...)
if (!modem.begin(EU868)) {
Expand Down
4 changes: 2 additions & 2 deletions examples/LoraSendAndReceive/LoraSendAndReceive.ino
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ void setup() {

// Set poll interval to 60 secs.
modem.minPollInterval(60);
// NOTE: independently by this setting the modem will
// not allow to send more than one message every 2 minutes,
// NOTE: independent of this setting, the modem will
// not allow sending more than one message every 2 minutes,
// this is enforced by firmware and can not be changed.
}

Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version=1.0.15
author=Arduino <[email protected]>
maintainer=Arduino <[email protected]>
sentence=Support library for MKR WAN 1300/1310
paragraph=Provides APIs to communicate with LoRa and LoraWAN networks
paragraph=Provides APIs to communicate with LoRa and LoRaWAN networks
category=Communication
url=http://github.com/arduino-libraries/MKRWAN
architectures=samd,mbed
12 changes: 6 additions & 6 deletions src/MKRWAN.h
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
/*
This file is part of the MKR WAN library.
This file is part of the MKRWAN library.
Copyright (C) 2017 Arduino AG (http://www.arduino.cc/)
Based on the TinyGSM library https://github.com/vshymanskyy/TinyGSM
Copyright (c) 2016 Volodymyr Shymanskyy
MKR WAN library is free software: you can redistribute it and/or modify
MKRWAN library is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
MKR WAN library is distributed in the hope that it will be useful,
MKRWAN library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with MKR WAN library. If not, see <http://www.gnu.org/licenses/>.
along with MKRWAN library. If not, see <http://www.gnu.org/licenses/>.
*/

#include "Arduino.h"
Expand Down Expand Up @@ -955,8 +955,8 @@ class LoRaModem : public Stream
/**
* @brief transmit uplink
*
* @param buff data to transmit`
* @param len length of the buffer`
* @param buff data to transmit
* @param len length of the buffer
* @param confirmed true = transmit confirmed uplink
* @return int a positive number indicate success and is the number of bytes transmitted
* -1 indicates a timeout error
Expand Down

0 comments on commit a9ce4f0

Please sign in to comment.