1
0
mirror of https://github.com/arduino-libraries/ArduinoHttpClient.git synced 2025-04-21 08:25:54 +03:00

Merge pull request #102 from arduino-libraries/ci

Use GitHub Actions for continuous integration
This commit is contained in:
Alexander Entinger 2021-04-14 07:15:57 +02:00 committed by GitHub
commit 1751e10675
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 185 additions and 30 deletions

7
.codespellrc Normal file
View 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
View 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
View 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

62
.github/workflows/compile-examples.yml vendored Normal file
View File

@ -0,0 +1,62 @@
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:mkr1000
platforms: |
- name: arduino:samd
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: WiFi101
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 }}

View 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
View 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

View File

@ -9,7 +9,7 @@
## ArduinoHttpClient 0.3.1 - 2017.09.25 ## ArduinoHttpClient 0.3.1 - 2017.09.25
* Changed examples to support Arduino Create secret tabs * Changed examples to support Arduino Create secret tabs
* Increase WebSocket secrect-key length to 24 characters * Increase WebSocket secret-key length to 24 characters
## ArduinoHttpClient 0.3.0 - 2017.04.20 ## ArduinoHttpClient 0.3.0 - 2017.04.20

View File

@ -1,5 +1,9 @@
# ArduinoHttpClient # ArduinoHttpClient
[![Check Arduino status](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/check-arduino.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/check-arduino.yml)
[![Compile Examples status](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/compile-examples.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/compile-examples.yml)
[![Spell Check status](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/spell-check.yml/badge.svg)](https://github.com/arduino-libraries/ArduinoHttpClient/actions/workflows/spell-check.yml)
ArduinoHttpClient is a library to make it easier to interact with web servers from Arduino. ArduinoHttpClient is a library to make it easier to interact with web servers from Arduino.
Derived from [Adrian McEwen's HttpClient library](https://github.com/amcewen/HttpClient) Derived from [Adrian McEwen's HttpClient library](https://github.com/amcewen/HttpClient)

View File

@ -15,7 +15,7 @@
#include <WiFi101.h> #include <WiFi101.h>
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -15,7 +15,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -20,7 +20,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -16,7 +16,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -23,16 +23,16 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;
int status = WL_IDLE_STATUS; // the Wifi radio's status int status = WL_IDLE_STATUS; // the WiFi radio's status
char hueHubIP[] = "192.168.0.3"; // IP address of the HUE bridge char hueHubIP[] = "192.168.0.3"; // IP address of the HUE bridge
String hueUserName = "huebridgeusername"; // hue bridge username String hueUserName = "huebridgeusername"; // hue bridge username
// make a wifi instance and a HttpClient instance: // make a WiFiClient instance and a HttpClient instance:
WiFiClient wifi; WiFiClient wifi;
HttpClient httpClient = HttpClient(wifi, hueHubIP); HttpClient httpClient = HttpClient(wifi, hueHubIP);
@ -42,7 +42,7 @@ void setup() {
Serial.begin(9600); Serial.begin(9600);
while (!Serial); // wait for serial port to connect. while (!Serial); // wait for serial port to connect.
// attempt to connect to Wifi network: // attempt to connect to WiFi network:
while ( status != WL_CONNECTED) { while ( status != WL_CONNECTED) {
Serial.print("Attempting to connect to WPA SSID: "); Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid); Serial.println(ssid);

View File

@ -1,7 +1,7 @@
/* /*
POST with headers client for ArduinoHttpClient library POST with headers client for ArduinoHttpClient library
Connects to server once every five seconds, sends a POST request Connects to server once every five seconds, sends a POST request
with custome headers and a request body with custom headers and a request body
created 14 Feb 2016 created 14 Feb 2016
by Tom Igoe by Tom Igoe
@ -18,7 +18,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -15,7 +15,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -14,7 +14,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -2,7 +2,7 @@
// Released under Apache License, version 2.0 // Released under Apache License, version 2.0
// //
// Simple example to show how to use the HttpClient library // Simple example to show how to use the HttpClient library
// Get's the web page given at http://<kHostname><kPath> and // Gets the web page given at http://<kHostname><kPath> and
// outputs the content to the serial port // outputs the content to the serial port
#include <SPI.h> #include <SPI.h>
@ -14,7 +14,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;
@ -42,7 +42,7 @@ void setup()
; // wait for serial port to connect. Needed for native USB port only ; // wait for serial port to connect. Needed for native USB port only
} }
// attempt to connect to Wifi network: // attempt to connect to WiFi network:
Serial.print("Attempting to connect to WPA SSID: "); Serial.print("Attempting to connect to WPA SSID: ");
Serial.println(ssid); Serial.println(ssid);
while (WiFi.begin(ssid, pass) != WL_CONNECTED) { while (WiFi.begin(ssid, pass) != WL_CONNECTED) {
@ -129,5 +129,3 @@ void loop()
// And just stop, now that we've tried a download // And just stop, now that we've tried a download
while(1); while(1);
} }

View File

@ -14,7 +14,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -14,7 +14,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -15,7 +15,7 @@
#include "arduino_secrets.h" #include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h ///////please enter your sensitive data in the Secret tab/arduino_secrets.h
/////// Wifi Settings /////// /////// WiFi Settings ///////
char ssid[] = SECRET_SSID; char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS; char pass[] = SECRET_PASS;

View File

@ -1,5 +1,5 @@
####################################### #######################################
# Syntax Coloring Map For HttpClient # Syntax Coloring Map For ArduinoHttpClient
####################################### #######################################
####################################### #######################################

View File

@ -1,7 +1,7 @@
{ {
"name": "ArduinoHttpClient", "name": "ArduinoHttpClient",
"keywords": "http, web, client, ethernet, wifi, GSM", "keywords": "http, web, client, ethernet, wifi, GSM",
"description": "Easily interact with web servers from Arduino, using HTTP and WebSocket's.", "description": "Easily interact with web servers from Arduino, using HTTP and WebSockets.",
"repository": "repository":
{ {
"type": "git", "type": "git",

View File

@ -2,7 +2,7 @@ name=ArduinoHttpClient
version=0.4.0 version=0.4.0
author=Arduino author=Arduino
maintainer=Arduino <info@arduino.cc> maintainer=Arduino <info@arduino.cc>
sentence=[EXPERIMENTAL] Easily interact with web servers from Arduino, using HTTP and WebSocket's. sentence=[EXPERIMENTAL] Easily interact with web servers from Arduino, using HTTP and WebSockets.
paragraph=This library can be used for HTTP (GET, POST, PUT, DELETE) requests to a web server. It also supports exchanging messages with WebSocket servers. Based on Adrian McEwen's HttpClient library. paragraph=This library can be used for HTTP (GET, POST, PUT, DELETE) requests to a web server. It also supports exchanging messages with WebSocket servers. Based on Adrian McEwen's HttpClient library.
category=Communication category=Communication
url=https://github.com/arduino-libraries/ArduinoHttpClient url=https://github.com/arduino-libraries/ArduinoHttpClient

View File

@ -587,7 +587,7 @@ String HttpClient::responseBody()
} }
if (bodyLength > 0 && (unsigned int)bodyLength != response.length()) { if (bodyLength > 0 && (unsigned int)bodyLength != response.length()) {
// failure, we did not read in reponse content length bytes // failure, we did not read in response content length bytes
return String((const char*)NULL); return String((const char*)NULL);
} }
@ -685,7 +685,7 @@ int HttpClient::read()
bool HttpClient::headerAvailable() bool HttpClient::headerAvailable()
{ {
// clear the currently store header line // clear the currently stored header line
iHeaderLine = ""; iHeaderLine = "";
while (!endOfHeadersReached()) while (!endOfHeadersReached())

View File

@ -228,7 +228,7 @@ public:
*/ */
String readHeaderName(); String readHeaderName();
/** Read the vallue of the current response header. /** Read the value of the current response header.
Returns empty string if a header is not available. Returns empty string if a header is not available.
*/ */
String readHeaderValue(); String readHeaderValue();
@ -341,7 +341,7 @@ protected:
// Number of milliseconds that we wait each time there isn't any data // Number of milliseconds that we wait each time there isn't any data
// available to be read (during status code and header processing) // available to be read (during status code and header processing)
static const int kHttpWaitForDataDelay = 1000; static const int kHttpWaitForDataDelay = 1000;
// Number of milliseconds that we'll wait in total without receiveing any // Number of milliseconds that we'll wait in total without receiving any
// data before returning HTTP_ERROR_TIMED_OUT (during status code and header // data before returning HTTP_ERROR_TIMED_OUT (during status code and header
// processing) // processing)
static const int kHttpResponseTimeout = 30*1000; static const int kHttpResponseTimeout = 30*1000;