Skip to content

Commit 0f5983b

Browse files
authored
Merge pull request #51 from per1234/ci
Modernize continuous integration system
2 parents cbc6f6e + 5da580c commit 0f5983b

File tree

14 files changed

+712
-85
lines changed

14 files changed

+712
-85
lines changed

Diff for: .codespellrc

+7
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 = ,
5+
check-filenames =
6+
check-hidden =
7+
skip = ./.git

Diff for: .github/dependabot.yml

+10
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

Diff for: .github/workflows/check-arduino.yml

+28
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: specification
25+
library-manager: update
26+
# Always use this setting for official repositories. Remove for 3rd party projects.
27+
official: true
28+
project-type: library

Diff for: .github/workflows/compile-examples.yml

+82-25
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,84 @@
11
name: Compile Examples
2-
on: [push, pull_request]
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+
- "examples/**"
9+
- "src/**"
10+
pull_request:
11+
paths:
12+
- ".github/workflows/compile-examples.yml"
13+
- "examples/**"
14+
- "src/**"
15+
schedule:
16+
# Run every Tuesday at 8 AM UTC to catch breakage caused by changes to external resources (libraries, platforms).
17+
- cron: "0 8 * * TUE"
18+
workflow_dispatch:
19+
repository_dispatch:
20+
321
jobs:
4-
build:
5-
runs-on: ubuntu-latest
6-
env:
7-
LIBRARIES: WiFi101 WiFiNINA
8-
9-
strategy:
10-
matrix:
11-
fqbn: [
12-
"arduino:samd:mkr1000",
13-
"arduino:samd:mkrwifi1010",
14-
"arduino:samd:nano_33_iot",
15-
"arduino:megaavr:uno2018",
16-
'"esp8266:esp8266:huzzah" "https://arduino.esp8266.com/stable/package_esp8266com_index.json"'
17-
]
18-
19-
steps:
20-
- uses: actions/checkout@v1
21-
with:
22-
fetch-depth: 1
23-
- name: compile-examples for official Arduino boards
24-
uses: arduino/actions/libraries/compile-examples@master
25-
with:
26-
fqbn: ${{ matrix.fqbn }}
27-
libraries: ${{ env.LIBRARIES }}
22+
build:
23+
name: ${{ matrix.board.fqbn }}
24+
runs-on: ubuntu-latest
25+
26+
env:
27+
SKETCHES_REPORTS_PATH: sketches-reports
28+
29+
strategy:
30+
fail-fast: false
31+
32+
matrix:
33+
board:
34+
- fqbn: arduino:megaavr:uno2018
35+
platforms: |
36+
- name: arduino:megaavr
37+
libraries: |
38+
- name: WiFiNINA
39+
- fqbn: arduino:samd:mkrwifi1010
40+
platforms: |
41+
- name: arduino:samd
42+
libraries: |
43+
- name: WiFiNINA
44+
- fqbn: arduino:samd:mkr1000
45+
platforms: |
46+
- name: arduino:samd
47+
libraries: |
48+
- name: WiFi101
49+
- fqbn: arduino:samd:nano_33_iot
50+
platforms: |
51+
- name: arduino:samd
52+
libraries: |
53+
- name: WiFiNINA
54+
- fqbn: esp8266:esp8266:huzzah
55+
platforms: |
56+
- name: esp8266:esp8266
57+
source-url: https://arduino.esp8266.com/stable/package_esp8266com_index.json
58+
libraries: ""
59+
60+
steps:
61+
- name: Checkout repository
62+
uses: actions/checkout@v2
63+
64+
- name: Compile examples
65+
uses: arduino/compile-sketches@v1
66+
with:
67+
github-token: ${{ secrets.GITHUB_TOKEN }}
68+
fqbn: ${{ matrix.board.fqbn }}
69+
platforms: ${{ matrix.board.platforms }}
70+
libraries: |
71+
# Install the library from the local path.
72+
- source-path: ./
73+
${{ matrix.board.libraries }}
74+
sketch-paths: |
75+
- examples
76+
enable-deltas-report: true
77+
sketches-report-path: ${{ env.SKETCHES_REPORTS_PATH }}
78+
79+
- name: Save sketches report as workflow artifact
80+
uses: actions/upload-artifact@v2
81+
with:
82+
if-no-files-found: error
83+
path: ${{ env.SKETCHES_REPORTS_PATH }}
84+
name: ${{ env.SKETCHES_REPORTS_PATH }}

Diff for: .github/workflows/report-size-deltas.yml

+24
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

Diff for: .github/workflows/spell-check.yml

+20-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,22 @@
11
name: Spell Check
2-
on: [push, pull_request]
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+
313
jobs:
4-
build:
5-
runs-on: ubuntu-latest
6-
7-
steps:
8-
- uses: actions/checkout@v1
9-
with:
10-
fetch-depth: 1
11-
- uses: arduino/actions/libraries/spell-check@master
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)