diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 0000000..89f4a35 --- /dev/null +++ b/.codespellrc @@ -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 = trun +check-filenames = +check-hidden = +skip = ./.git diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..03600dd --- /dev/null +++ b/.github/dependabot.yml @@ -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 diff --git a/.github/workflows/check-arduino.yml b/.github/workflows/check-arduino.yml new file mode 100644 index 0000000..0d969f6 --- /dev/null +++ b/.github/workflows/check-arduino.yml @@ -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 diff --git a/.github/workflows/main.yml b/.github/workflows/compile-examples.yml similarity index 59% rename from .github/workflows/main.yml rename to .github/workflows/compile-examples.yml index 5bd60b0..8ecd874 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/compile-examples.yml @@ -4,11 +4,13 @@ on: pull_request: paths: - ".github/workflows/compile-examples.yml" + - "library.properties" - "examples/**" push: paths: - ".github/workflows/compile-examples.yml" + - "library.properties" - "examples/**" # Scheduled trigger checks for breakage caused by changes to external resources (libraries, platforms) @@ -22,6 +24,7 @@ on: jobs: build: + name: ${{ matrix.board.fqbn }} runs-on: ubuntu-latest env: @@ -32,14 +35,25 @@ jobs: matrix: board: - - fqbn: arduino:mbed:envie_m7 + - fqbn: arduino:mbed_portenta:envie_m7 + sketch-paths: | + - examples/BLE Connectivity on Portenta H7/PortentaBLE + - examples/Creating a Flash-Optimised Key-Value Store/FlashKeyValueStore + - examples/Dual Core Processing/BlinkRedLed + - examples/Dual Core Processing/BlinkRedLed_M7 + - examples/Portenta H7 as a USB Host/LEDKeyboardController + - examples/Portenta H7 as a WiFi Access Point/SimpleWebServer + - examples/Setting Up Portenta H7 For Arduino/Blink + - fqbn: arduino:mbed_portenta:envie_m4 + sketch-paths: | + - examples/Dual Core Processing/BlinkGreenLed_M4 steps: - name: Checkout uses: actions/checkout@v2 - name: Compile examples - uses: arduino/compile-sketches@main + uses: arduino/compile-sketches@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} fqbn: ${{ matrix.board.fqbn }} @@ -50,13 +64,16 @@ jobs: - name: ArduinoBLE sketch-paths: | - - './examples/' - + # Sketches to compile for all boards + - examples/Dual Core Processing/BlinkBothCores + # Board-specific sketches + ${{ matrix.board.sketch-paths }} enable-deltas-report: true sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }} - name: Save memory usage change report as artifact uses: actions/upload-artifact@v2 with: + if-no-files-found: error name: ${{ env.SKETCHES_REPORTS_PATH }} path: ${{ env.SKETCHES_REPORTS_PATH }} diff --git a/.github/workflows/report-size-deltas.yml b/.github/workflows/report-size-deltas.yml new file mode 100644 index 0000000..652be5d --- /dev/null +++ b/.github/workflows/report-size-deltas.yml @@ -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 diff --git a/.github/workflows/spell-check.yml b/.github/workflows/spell-check.yml new file mode 100644 index 0000000..01bee87 --- /dev/null +++ b/.github/workflows/spell-check.yml @@ -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 diff --git a/README.adoc b/README.adoc index c671f7a..61405f5 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,11 @@ -= Arduino_Pro_Tutorials Library for Arduino = +:repository-owner: arduino-libraries +:repository-name: Arduino_Pro_Tutorials + += {repository-name} Library for Arduino = + +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml/badge.svg["Check Arduino status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/check-arduino.yml"] +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml/badge.svg["Compile Examples status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/compile-examples.yml"] +image:https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml/badge.svg["Spell Check status", link="https://github.com/{repository-owner}/{repository-name}/actions/workflows/spell-check.yml"] The complete Arduino sketches from the Pro Tutorials found on the https://www.arduino.cc/pro/tutorials/portenta-h7[Arduino Pro website].