Skip to content

Commit ab80771

Browse files
authored
Merge pull request #21 from per1234/ci
Use GitHub Actions for continuous integration
2 parents 2ca94a4 + 09984ca commit ab80771

File tree

17 files changed

+724
-15
lines changed

17 files changed

+724
-15
lines changed

.codespellrc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# See: https://github.com/codespell-project/codespell#using-a-config-file
2+
[codespell]
3+
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
4+
ignore-words-list = writen
5+
check-filenames =
6+
check-hidden =
7+
skip = ./.git,./src/cjson

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# See: https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#about-the-dependabotyml-file
2+
version: 2
3+
4+
updates:
5+
# Configure check for outdated GitHub Actions actions in workflows.
6+
# See: https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-dependabot
7+
- package-ecosystem: github-actions
8+
directory: / # Check the repository's workflows under /.github/workflows/
9+
schedule:
10+
interval: daily

.github/workflows/check-arduino.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Check Arduino
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
pull_request:
7+
schedule:
8+
# Run every Tuesday at 8 AM UTC to catch breakage caused by new rules added to Arduino Lint.
9+
- cron: "0 8 * * TUE"
10+
workflow_dispatch:
11+
repository_dispatch:
12+
13+
jobs:
14+
lint:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
20+
21+
- name: Arduino Lint
22+
uses: arduino/arduino-lint-action@v1
23+
with:
24+
compliance: strict
25+
library-manager: update
26+
# Always use this setting for official repositories. Remove for 3rd party projects.
27+
official: true
28+
project-type: library
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Compile Examples
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- ".github/workflows/compile-examples.yml"
8+
- "library.properties"
9+
- "examples/**"
10+
- "src/**"
11+
pull_request:
12+
paths:
13+
- ".github/workflows/compile-examples.yml"
14+
- "library.properties"
15+
- "examples/**"
16+
- "src/**"
17+
schedule:
18+
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
19+
- cron: "0 8 * * TUE"
20+
workflow_dispatch:
21+
repository_dispatch:
22+
23+
jobs:
24+
build:
25+
name: ${{ matrix.board.fqbn }}
26+
runs-on: ubuntu-latest
27+
28+
env:
29+
SKETCHES_REPORTS_PATH: sketches-reports
30+
31+
strategy:
32+
fail-fast: false
33+
34+
matrix:
35+
board:
36+
- fqbn: arduino:avr:nano
37+
platforms: |
38+
- name: arduino:avr
39+
- fqbn: arduino:avr:mega
40+
platforms: |
41+
- name: arduino:avr
42+
- fqbn: arduino:avr:leonardo
43+
platforms: |
44+
- name: arduino:avr
45+
- fqbn: arduino:avr:yun
46+
platforms: |
47+
- name: arduino:avr
48+
- fqbn: arduino:megaavr:uno2018
49+
platforms: |
50+
- name: arduino:megaavr
51+
- fqbn: arduino:megaavr:nona4809
52+
platforms: |
53+
- name: arduino:megaavr
54+
- fqbn: arduino:sam:arduino_due_x_dbg
55+
platforms: |
56+
- name: arduino:sam
57+
- fqbn: arduino:samd:arduino_zero_edbg
58+
platforms: |
59+
- name: arduino:samd
60+
- fqbn: arduino:samd:mkrzero
61+
platforms: |
62+
- name: arduino:samd
63+
- fqbn: arduino:samd:nano_33_iot
64+
platforms: |
65+
- name: arduino:samd
66+
- fqbn: arduino:mbed_portenta:envie_m4
67+
platforms: |
68+
- name: arduino:mbed_portenta
69+
- fqbn: arduino:mbed_portenta:envie_m7
70+
platforms: |
71+
- name: arduino:mbed_portenta
72+
- fqbn: arduino:mbed_edge:edge_control
73+
platforms: |
74+
- name: arduino:mbed_edge
75+
- fqbn: arduino:mbed_nano:nano33ble
76+
platforms: |
77+
- name: arduino:mbed_nano
78+
- fqbn: arduino:mbed_nano:nanorp2040connect
79+
platforms: |
80+
- name: arduino:mbed_nano
81+
82+
steps:
83+
- name: Checkout repository
84+
uses: actions/checkout@v2
85+
86+
- name: Compile examples
87+
uses: arduino/compile-sketches@v1
88+
with:
89+
github-token: ${{ secrets.GITHUB_TOKEN }}
90+
fqbn: ${{ matrix.board.fqbn }}
91+
platforms: ${{ matrix.board.platforms }}
92+
libraries: |
93+
# Install the library from the local path.
94+
- source-path: ./
95+
# Additional library dependencies can be listed here.
96+
# See: https://github.com/arduino/compile-sketches#libraries
97+
sketch-paths: |
98+
- examples
99+
enable-deltas-report: true
100+
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
101+
102+
- name: Save sketches report as workflow artifact
103+
uses: actions/upload-artifact@v2
104+
with:
105+
if-no-files-found: error
106+
path: ${{ env.SKETCHES_REPORTS_PATH }}
107+
name: ${{ env.SKETCHES_REPORTS_PATH }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Report Size Deltas
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- ".github/workflows/report-size-deltas.yml"
8+
schedule:
9+
# Run at the minimum interval allowed by GitHub Actions.
10+
# Note: GitHub Actions periodically has outages which result in workflow failures.
11+
# In this event, the workflows will start passing again once the service recovers.
12+
- cron: "*/5 * * * *"
13+
workflow_dispatch:
14+
repository_dispatch:
15+
16+
jobs:
17+
report:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Comment size deltas reports to PRs
21+
uses: arduino/report-size-deltas@v1
22+
with:
23+
# The name of the workflow artifact created by the sketch compilation workflow
24+
sketches-reports-source: sketches-reports

.github/workflows/spell-check.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Spell Check
2+
3+
# See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
pull_request:
7+
schedule:
8+
# Run every Tuesday at 8 AM UTC to catch new misspelling detections resulting from dictionary updates.
9+
- cron: "0 8 * * TUE"
10+
workflow_dispatch:
11+
repository_dispatch:
12+
13+
jobs:
14+
spellcheck:
15+
runs-on: ubuntu-latest
16+
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v2
20+
21+
- name: Spell check
22+
uses: codespell-project/actions-codespell@master

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy