Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: Arduino-CI/arduino_ci
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.3.0
Choose a base ref
...
head repository: Arduino-CI/arduino_ci
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: HEAD
Choose a head ref
Loading
Showing 455 changed files with 482,466 additions and 478,269 deletions.
3 changes: 3 additions & 0 deletions .codespellignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
aci
ba
flem
3 changes: 3 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[codespell]
skip = ./cpp/arduino/avr/*
ignore-words=.codespellignore
40 changes: 40 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# https://docs.github.com/en/github/using-git/configuring-git-to-handle-line-endings
# https://git-scm.com/docs/gitattributes
# https://git-scm.com/docs/git-config
# https://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/

# Configure this repository to use Git's type detection algorithm to guess
# whether a file is text or binary. Text files will have line endings converted
# as if you had set
# eol=native
# That is, on Windows text files will have CRLF line endings in your working
# directory while on Linux and macOS your text files will have LF line endings
# in your working directory. In either case, they will have LF line endings in
# the Git repository itself.

# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto eol=lf

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout. Git would likely get these right, but
# we can be sure by adding them here.
*.ino text diff=cpp
*.c text diff=c
*.cc text diff=cpp
*.cxx text diff=cpp
*.cpp text diff=cpp
*.c++ text diff=cpp
*.hpp text diff=cpp
*.h text diff=c
*.h++ text diff=cpp
*.hh text diff=cpp

*.md text
*.yaml text
*.yml text


# Denote all files that are truly binary and should not be modified.
# Even if we don't have any of these, they make a good example.
*.png binary
*.jpg binary
10 changes: 10 additions & 0 deletions .github/workflows/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## Note to `arduino_ci` users

In this project, we define a workflow for each target platform. **If you're looking for an example you can copy from, take only `linux.yaml`.**


### Long version

The reason that all platforms are tested in _this_ project is to ensure that, as a framework, `arduino_ci` will run properly on any developer's personal workstation (regardless of OS).

For testing an individual Arduino library in the context of GitHub, [Linux is the cheapest option](https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-billing-and-payments-on-github/about-billing-for-github-actions) and should produce results identical to the other OSes.
34 changes: 34 additions & 0 deletions .github/workflows/linter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Lint Code Base

on:
push:
branches-ignore: [master, main]
# Remove the line above to run when pushing to master
pull_request:
branches: [master, main]

jobs:
build:
name: Lint Code Base
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0

- name: Lint Code Base
uses: github/super-linter/slim@v4
env:
VALIDATE_ALL_CODEBASE: true
FILTER_REGEX_EXCLUDE: ./cpp/arduino/avr/*
DEFAULT_BRANCH: master
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_CPP: true
VALIDATE_MARKDOWN: true
VALIDATE_YAML: true
LINTER_RULES_PATH: /
MARKDOWN_CONFIG_FILE: /.markdown-lint.json
89 changes: 89 additions & 0 deletions .github/workflows/linux.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# This is the name of the workflow, visible on GitHub UI
name: linux

on: [push, pull_request]

jobs:
"BusIO_with_dependencies":
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test BusIO from scratch
run: |
g++ -v
cd SampleProjects/BusIO
bundle install
bundle exec ensure_arduino_installation.rb
bundle exec arduino_ci.rb
"rubocop":
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check style
run: |
g++ -v
bundle install
bundle exec rubocop --version
bundle exec rubocop -D .
"rspec-linux":
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check functionality
run: |
g++ -v
bundle install
bundle exec rspec
"TestSomething":
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - TestSomething
run: |
g++ -v
bundle install
cd SampleProjects/TestSomething
bundle install
bundle exec arduino_ci.rb --help
bundle exec arduino_ci.rb
NetworkLib:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test NetworkLib from scratch
run: |
g++ -v
cd SampleProjects/NetworkLib
bundle install
bundle exec ensure_arduino_installation.rb
sh ./scripts/install.sh
bundle exec arduino_ci.rb
SharedLibrary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test SharedLibrary should fail
run: ./SampleProjects/SharedLibrary/test.sh
74 changes: 74 additions & 0 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# This is the name of the workflow, visible on GitHub UI
name: macos

on: [push, pull_request]

jobs:
"rubocop":
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check style
run: |
g++ -v
bundle install
bundle exec rubocop --version
bundle exec rubocop -D .
"rspec-macos":
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check functionality
run: |
g++ -v
bundle install
bundle exec rspec
"TestSomething":
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - TestSomething
run: |
g++ -v
bundle install
cd SampleProjects/TestSomething
bundle install
bundle exec arduino_ci.rb --help
bundle exec arduino_ci.rb
NetworkLib:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test NetworkLib from scratch
run: |
g++ -v
cd SampleProjects/NetworkLib
bundle install
bundle exec ensure_arduino_installation.rb
sh ./scripts/install.sh
bundle exec arduino_ci.rb
SharedLibrary:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test SharedLibrary should fail
run: ./SampleProjects/SharedLibrary/test.sh
26 changes: 26 additions & 0 deletions .github/workflows/spelling.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This is the name of the workflow, visible on GitHub UI
name: Check Spelling

on:
push:
branches-ignore: [master, main]
# Remove the line above to run when pushing to master
pull_request:
branches: [master, main]

jobs:
build:
name: Check Spelling
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0

- name: Check Spelling
uses: codespell-project/actions-codespell@v1.0
with:
check_filenames: true
74 changes: 74 additions & 0 deletions .github/workflows/windows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# This is the name of the workflow, visible on GitHub UI
name: windows

on: [push, pull_request]

jobs:
"rubocop":
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check style
run: |
g++ -v
bundle install
bundle exec rubocop --version
bundle exec rubocop -D . --except Layout/EndOfLine
"rspec-windows":
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check functionality
run: |
g++ -v
bundle install
bundle exec rspec
TestSomething:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - TestSomething
run: |
g++ -v
bundle install
cd SampleProjects/TestSomething
bundle install
bundle exec arduino_ci.rb --help
bundle exec arduino_ci.rb
NetworkLib:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test NetworkLib from scratch
run: |
g++ -v
cd SampleProjects/NetworkLib
bundle install
bundle exec ensure_arduino_installation.rb
bash -x ./scripts/install.sh
bundle exec arduino_ci.rb
SharedLibrary:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- name: Check usage - Test SharedLibrary should fail
run: ./SampleProjects/SharedLibrary/test.sh
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -8,10 +8,14 @@ Gemfile.lock
/spec/reports/
vendor
*.gem
.arduino_ci

# rspec failure tracking
.rspec_status

# C++ stuff
*.bin
*.bin.dSYM
*.so
*.so.dSYM
.vscode
20 changes: 20 additions & 0 deletions .markdown-lint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"blanks-around-fences": false,
"blanks-around-headings": false,
"blanks-around-lists": false,
"commands-show-output": false,
"first-line-h1": false,
"header-increment": false,
"line_length": {
"line_length": 600
},
"no-bare-urls": false,
"no-duplicate-heading": false,
"no-multiple-blanks": {
"maximum": 2
},
"single-h1": false,
"ul-indent": {
"indent": 4
}
}
Loading