Skip to content

Commit 70b56bf

Browse files
Adding example CI configs and badges (#1)
1 parent 923ffe1 commit 70b56bf

File tree

7 files changed

+103
-1
lines changed

7 files changed

+103
-1
lines changed

.appveyor.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
install:
2+
- set PATH=C:\Ruby26\bin;C:\cygwin\bin;C:\cygwin64\bin;%PATH%
3+
- bundle install
4+
- '%CYG_ROOT%\setup-%CYG_ARCH%.exe -qnNdO -R %CYG_ROOT% -s http://cygwin.mirror.constant.com -l %CYG_ROOT%/var/cache/setup -P autoconf -P automake -P bison -P libgmp-devel -P gcc-core -P gcc-g++ -P mingw-runtime -P mingw-binutils -P mingw-gcc-core -P mingw-gcc-g++ -P mingw-pthreads -P mingw-w32api -P libtool -P make -P gettext-devel -P gettext -P intltool -P libiconv -P pkg-config -P git -P wget -P curl'
5+
6+
environment:
7+
matrix:
8+
- CYG_ARCH: x86_64
9+
CYG_ROOT: C:/cygwin64
10+
11+
build: off
12+
13+
before_test:
14+
- ruby -v
15+
- gem -v
16+
- bundle -v
17+
- g++ -v
18+
19+
test_script:
20+
- bundle install
21+
- bundle exec arduino_ci_remote.rb

.circleci/config.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
version: 2.1
2+
3+
jobs:
4+
arduino-ci-test:
5+
docker:
6+
- image: circleci/ruby:2.6
7+
steps:
8+
- checkout
9+
- run:
10+
name: Install and test
11+
command: |
12+
bundle install
13+
bundle exec arduino_ci_remote.rb
14+
15+
workflows:
16+
arduino-ci-workflow:
17+
jobs:
18+
- arduino-ci-test

.github/workflows/macos.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: macos
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
runTest:
7+
runs-on: macos-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: ruby/setup-ruby@v1
11+
with:
12+
ruby-version: 2.6
13+
- run: |
14+
bundle install
15+
bundle exec arduino_ci_remote.rb

.github/workflows/ubuntu.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: ubuntu
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
runTest:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: ruby/setup-ruby@v1
11+
with:
12+
ruby-version: 2.6
13+
- run: |
14+
bundle install
15+
bundle exec arduino_ci_remote.rb

.github/workflows/windows.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: windows
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
runTest:
7+
runs-on: windows-latest
8+
steps:
9+
- uses: actions/checkout@v2
10+
- uses: ruby/setup-ruby@v1
11+
with:
12+
ruby-version: 2.6
13+
- run: |
14+
bundle install
15+
bundle exec arduino_ci_remote.rb

README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@ You can watch a [video](https://youtu.be/vaS4AU_PXQo) showing how this project c
88

99
Any serious software project should have good tests and much work has been done to automate that process. One challenging area for testing is low-level devices, such as an [Arduino](https://www.arduino.cc/), whose primary action is setting lines to high or low voltage. One project that seems to be doing a good job of filling this gap is [arduino_ci](https://github.com/ianfixes/arduino_ci). In this project we provide a sample Arduino program with automated tests.
1010

11+
  | Linux | macOS | Windows
12+
-------------------|:------|:------|:--------
13+
**AppVeyor** | | | [![Windows Build Status](https://ci.appveyor.com/api/projects/status/2m0y9wsawprq3i3p?svg=true)](https://ci.appveyor.com/project/prestoncarman/blink)
14+
**CircleCI** | [![Linux Build Status](https://circleci.com/gh/prestoncarman/Blink/tree/2020-11-10_ci.svg?style=svg)](https://app.circleci.com/pipelines/github/prestoncarman/Blink) | |
15+
**GitHub Actions** | ![Linux Build Status](https://github.com/prestoncarman/Blink/workflows/ubuntu/badge.svg) | ![macOS Build Status](https://github.com/prestoncarman/Blink/workflows/macos/badge.svg) | ![Windows Build Status](https://github.com/prestoncarman/Blink/workflows/windows/badge.svg)
16+
**Travis CI** | [![Linux Build Status](https://ci.appveyor.com/api/projects/status/2m0y9wsawprq3i3p?svg=true)](https://ci.appveyor.com/project/prestoncarman/blink) | |
17+
18+
1119
## Blink
1220

1321
One of the initial Arduino tutorials is [Blink](https://www.arduino.cc/en/Tutorial/Blink), a program that simply turns an LED on and off for one second each. It is a nice demo that doesn't require any external devices and can be written in a few lines of code.
@@ -70,6 +78,16 @@ To actually see this work, do the following:
7078

7179
With that you should have an application that works and has automated tests.
7280

81+
### Example CI Configs
82+
83+
In this repo, the Arduino-CI is used to run the test suite through several CI vendors.
84+
The example code for each vendor is found in the following files:
85+
86+
* AppVeyor - `.appveyor.yml`
87+
* Circle CI - `.circleci/config.yml`
88+
* GitHub Actions - `.github/workflows/Arduino-CI.yaml`
89+
* Travis CI - `.travis.yml`
90+
7391
## Credits
7492

7593
This Arduino example was created in September 2020 by James Foster <[email protected]>.

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ maintainer=James Foster <[email protected]>
55
sentence=Sample Arduino library for use with arduino_ci
66
paragraph=Sample Arduino library for use with arduino_ci
77
category=Other
8-
url=https://github.com/jgfoster/Blink
8+
url=https://github.com/Arduino-CI/Blink
99
architectures=avr
1010
includes=Blink.h

0 commit comments

Comments
 (0)