Merge pull request #137 from arduino-libraries/ci
Modernize continuous integration system
This commit is contained in:
commit
d935c237ab
7
.codespellrc
Normal file
7
.codespellrc
Normal file
@ -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 = ,
|
||||||
|
check-filenames =
|
||||||
|
check-hidden =
|
||||||
|
skip = ./.git
|
10
.github/dependabot.yml
vendored
Normal file
10
.github/dependabot.yml
vendored
Normal file
@ -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
.github/workflows/check-arduino.yml
vendored
Normal file
28
.github/workflows/check-arduino.yml
vendored
Normal file
@ -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
|
64
.github/workflows/compile-examples.yml
vendored
Normal file
64
.github/workflows/compile-examples.yml
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
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: esp8266:esp8266:huzzah
|
||||||
|
platforms: |
|
||||||
|
- name: esp8266:esp8266
|
||||||
|
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
|
||||||
|
|
||||||
|
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: ./
|
||||||
|
# Additional library dependencies can be listed here.
|
||||||
|
# See: https://github.com/arduino/compile-sketches#libraries
|
||||||
|
sketch-paths: |
|
||||||
|
- examples
|
||||||
|
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
.github/workflows/report-size-deltas.yml
vendored
Normal file
24
.github/workflows/report-size-deltas.yml
vendored
Normal file
@ -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
.github/workflows/spell-check.yml
vendored
Normal file
22
.github/workflows/spell-check.yml
vendored
Normal file
@ -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
|
10
.travis.yml
10
.travis.yml
@ -1,10 +0,0 @@
|
|||||||
language: c
|
|
||||||
sudo: false
|
|
||||||
before_install:
|
|
||||||
- source <(curl -SLs https://raw.githubusercontent.com/adafruit/travis-ci-arduino/master/install.sh)
|
|
||||||
script:
|
|
||||||
- build_platform esp8266
|
|
||||||
notifications:
|
|
||||||
email:
|
|
||||||
on_success: change
|
|
||||||
on_failure: change
|
|
@ -128,7 +128,7 @@ bool NTPClient::update() {
|
|||||||
|
|
||||||
unsigned long NTPClient::getEpochTime() const {
|
unsigned long NTPClient::getEpochTime() const {
|
||||||
return this->_timeOffset + // User offset
|
return this->_timeOffset + // User offset
|
||||||
this->_currentEpoc + // Epoc returned by the NTP server
|
this->_currentEpoc + // Epoch returned by the NTP server
|
||||||
((millis() - this->_lastUpdate) / 1000); // Time since last update
|
((millis() - this->_lastUpdate) / 1000); // Time since last update
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,4 +207,4 @@ void NTPClient::sendNTPPacket() {
|
|||||||
void NTPClient::setRandomPort(unsigned int minValue, unsigned int maxValue) {
|
void NTPClient::setRandomPort(unsigned int minValue, unsigned int maxValue) {
|
||||||
randomSeed(analogRead(0));
|
randomSeed(analogRead(0));
|
||||||
this->_port = random(minValue, maxValue);
|
this->_port = random(minValue, maxValue);
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
# NTPClient
|
# NTPClient
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/arduino-libraries/NTPClient.svg?branch=master)](https://travis-ci.org/arduino-libraries/NTPClient)
|
[![Check Arduino status](https://github.com/arduino-libraries/NTPClient/actions/workflows/check-arduino.yml/badge.svg)](https://github.com/arduino-libraries/NTPClient/actions/workflows/check-arduino.yml)
|
||||||
|
[![Compile Examples status](https://github.com/arduino-libraries/NTPClient/actions/workflows/compile-examples.yml/badge.svg)](https://github.com/arduino-libraries/NTPClient/actions/workflows/compile-examples.yml)
|
||||||
|
[![Spell Check status](https://github.com/arduino-libraries/NTPClient/actions/workflows/spell-check.yml/badge.svg)](https://github.com/arduino-libraries/NTPClient/actions/workflows/spell-check.yml)
|
||||||
|
|
||||||
Connect to a NTP server, here is how:
|
Connect to a NTP server, here is how:
|
||||||
|
|
||||||
@ -22,7 +24,7 @@ WiFiUDP ntpUDP;
|
|||||||
NTPClient timeClient(ntpUDP);
|
NTPClient timeClient(ntpUDP);
|
||||||
|
|
||||||
// You can specify the time server pool and the offset, (in seconds)
|
// You can specify the time server pool and the offset, (in seconds)
|
||||||
// additionaly you can specify the update interval (in milliseconds).
|
// additionally you can specify the update interval (in milliseconds).
|
||||||
// NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);
|
// NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);
|
||||||
|
|
||||||
void setup(){
|
void setup(){
|
||||||
@ -47,4 +49,4 @@ void loop() {
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Function documentation
|
## Function documentation
|
||||||
`getEpochTime` returns the unix epoch, which are the seconds elapsed since 00:00:00 UTC on 1 January 1970 (leap seconds are ignored, every day is treated as having 86400 seconds). **Attention**: If you have set a time offset this time offset will be added to your epoch timestamp.
|
`getEpochTime` returns the Unix epoch, which are the seconds elapsed since 00:00:00 UTC on 1 January 1970 (leap seconds are ignored, every day is treated as having 86400 seconds). **Attention**: If you have set a time offset this time offset will be added to your epoch timestamp.
|
||||||
|
@ -11,7 +11,7 @@ const char *password = "<PASSWORD>";
|
|||||||
WiFiUDP ntpUDP;
|
WiFiUDP ntpUDP;
|
||||||
|
|
||||||
// You can specify the time server pool and the offset (in seconds, can be
|
// You can specify the time server pool and the offset (in seconds, can be
|
||||||
// changed later with setTimeOffset() ). Additionaly you can specify the
|
// changed later with setTimeOffset() ). Additionally you can specify the
|
||||||
// update interval (in milliseconds, can be changed using setUpdateInterval() ).
|
// update interval (in milliseconds, can be changed using setUpdateInterval() ).
|
||||||
NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);
|
NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user