diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 50afffd..74095fb 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -25,7 +25,7 @@ with your board before submitting any issues. Modem: Main processor board: -TinyGSM version: +TinyGSM version: Code: ### Scenario, steps to reproduce diff --git a/.github/workflows/build_examples.yaml b/.github/workflows/build_examples_platformio.yaml similarity index 74% rename from .github/workflows/build_examples.yaml rename to .github/workflows/build_examples_platformio.yaml index b66e837..88d464d 100644 --- a/.github/workflows/build_examples.yaml +++ b/.github/workflows/build_examples_platformio.yaml @@ -1,4 +1,4 @@ -name: Build Examples +name: Build Examples with PlatformIO # Triggers the workflow on push or pull request events on: [push, pull_request] @@ -53,23 +53,6 @@ jobs: echo "LIBRARY_INSTALL_SOURCE=https://github.com/${GITHUB_REPOSITORY}.git#${GITHUB_HEAD_REF}" >> $GITHUB_ENV fi - - name: Restore or Cache pip - uses: actions/cache@v2.1.4 - with: - path: ~/.cache/pip - # if requirements.txt hasn't changed, then it will be a "cache hit" and pip will be restored - # if requirements.txt HAS changed, it will be a "cache miss" and a new cache of pip will be created if the job completes successfully - key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} - restore-keys: ${{ runner.os }}-pip- - - - name: Restore or Cache PlatformIO and Libraries - uses: actions/cache@v2.1.4 - with: - path: ~/.platformio - # if nothing in the lock files has changed, then it will be a "cache hit" and pip will be restored - # otherwise, it will be a "cache miss" and a new cache of libraries will be created if the job completes successfully - key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} - - name: Set up Python uses: actions/setup-python@v2 @@ -79,6 +62,21 @@ jobs: python -m pip install --upgrade pip pip install --upgrade platformio + - name: Restore or Cache Platforms and Libraries + uses: actions/cache@v2.1.5 + id: cache_pio + with: + path: ~/.platformio + # if nothing in the example_dependencies.json file has changed, then it will + # be a "cache hit" and we can restore libraries from cache and not + # download them. If it has changed we have to re-download. + key: ${{ hashFiles('./examples/example_dependencies.json') }} + + # Install cores and library dependencies for the Arduino CLI, iff no cache + - name: Install the Arduino libraries + if: steps.cache_pio.outputs.cache-hit != 'true' + run: pio lib --global install 89 415 1202 1286 + - name: Run PlatformIO env: PLATFORMIO_CI_SRC: ${{ matrix.example }} @@ -86,7 +84,6 @@ jobs: run: | echo "${{ env.LIBRARY_INSTALL_SOURCE }}" pio lib --global install ${{ env.LIBRARY_INSTALL_SOURCE }} - pio lib --global install 89 415 1202 1286 sed -i 's/\/\/ #define TINY_GSM_MODEM_SIM800/#define TINY_GSM_MODEM_SIM800/g' ${{ matrix.example }}/* platformio ci --project-option='build_flags=-D ${{ env.TINYGSM_MODEM_TO_USE }}' --project-option='framework=arduino' --board=uno --board=leonardo --board=yun --board=megaatmega2560 --board=genuino101 --board=mkr1000USB --board=zero --board=teensy31 --board=bluepill_f103c8 --board=uno_pic32 --board=esp01 --board=nodemcuv2 --board=esp32dev pio lib --global uninstall TinyGSM diff --git a/examples/example_dependencies.json b/examples/example_dependencies.json new file mode 100644 index 0000000..76d7297 --- /dev/null +++ b/examples/example_dependencies.json @@ -0,0 +1,41 @@ +[ + { + "name": "PubSubClient", + "owner": "knolleary", + "library id": "89", + "url": "https://github.com/knolleary/pubsubclient.git", + "version": "~2.8", + "note": "A client library for MQTT messaging.", + "authors": ["Nick O'Leary"] + }, + { + "name": "Blynk", + "owner": "blynkkk", + "library id": "415", + "url": "https://github.com/blynkkk/blynk-library.git", + "version": "~0.6.7", + "authors": ["Volodymyr Shymanskyy"], + "frameworks": "*", + "platforms": "*" + }, + { + "name": "AceCRC", + "owner": "bxparks", + "library id": "1202", + "url": "https://github.com/bxparks/AceCRC.git", + "version": "~1.0.1", + "authors": ["Brian T. Park"], + "frameworks": "*", + "platforms": "*" + }, + { + "name": "StreamDebugger", + "owner": "vshymanskyy", + "library id": "1286", + "url": "https://github.com/vshymanskyy/StreamDebugger.git", + "version": "~1.0.1", + "authors": ["Volodymyr Shymanskyy"], + "frameworks": "*", + "platforms": "*" + } +] diff --git a/library.json b/library.json index e4249b0..23de2b4 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "TinyGSM", - "version": "0.11.3", + "version": "0.11.4", "description": "A small Arduino library for GPRS modules, that just works. Includes examples for Blynk, MQTT, File Download, and Web Client. Supports many GSM, LTE, and WiFi modules with AT command interfaces.", "keywords": "GSM, AT commands, AT, SIM800, SIM900, A6, A7, M590, ESP8266, SIM7000, SIM800A, SIM800C, SIM800L, SIM800H, SIM808, SIM868, SIM900A, SIM900D, SIM908, SIM968, M95, MC60, MC60E, BG96, ublox, Quectel, SIMCOM, AI Thinker, LTE, LTE-M", "authors": [ diff --git a/library.properties b/library.properties index 693648a..313838d 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=TinyGSM -version=0.11.3 +version=0.11.4 author=Volodymyr Shymanskyy maintainer=Volodymyr Shymanskyy sentence=A small Arduino library for GPRS modules, that just works. diff --git a/src/TinyGsmCommon.h b/src/TinyGsmCommon.h index e5aaaaf..872b87e 100644 --- a/src/TinyGsmCommon.h +++ b/src/TinyGsmCommon.h @@ -10,7 +10,7 @@ #define SRC_TINYGSMCOMMON_H_ // The current library version number -#define TINYGSM_VERSION "0.10.9" +#define TINYGSM_VERSION "0.11.4" #if defined(SPARK) || defined(PARTICLE) #include "Particle.h"