Skip to content

Move repo to Arduino-CI GitHub Org #162

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 23, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 28 additions & 27 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
### Added

### Changed
- Move repository from https://github.com/ianfixes/arduino_ci to https://github.com/Arduino-CI/arduino_ci

### Deprecated

Expand Down Expand Up @@ -386,30 +387,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
- Skeleton for gem with working unit tests


[Unreleased]: https://github.com/ianfixes/arduino_ci/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/ianfixes/arduino_ci/compare/v0.2.1...v0.3.0
[0.2.1]: https://github.com/ianfixes/arduino_ci/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/ianfixes/arduino_ci/compare/v0.1.21...v0.2.0
[0.1.21]: https://github.com/ianfixes/arduino_ci/compare/v0.1.20...v0.1.21
[0.1.20]: https://github.com/ianfixes/arduino_ci/compare/v0.1.19...v0.1.20
[0.1.19]: https://github.com/ianfixes/arduino_ci/compare/v0.1.18...v0.1.19
[0.1.18]: https://github.com/ianfixes/arduino_ci/compare/v0.1.17...v0.1.18
[0.1.17]: https://github.com/ianfixes/arduino_ci/compare/v0.1.16...v0.1.17
[0.1.16]: https://github.com/ianfixes/arduino_ci/compare/v0.1.15...v0.1.16
[0.1.15]: https://github.com/ianfixes/arduino_ci/compare/v0.1.14...v0.1.15
[0.1.14]: https://github.com/ianfixes/arduino_ci/compare/v0.1.13...v0.1.14
[0.1.13]: https://github.com/ianfixes/arduino_ci/compare/v0.1.12...v0.1.13
[0.1.12]: https://github.com/ianfixes/arduino_ci/compare/v0.1.11...v0.1.12
[0.1.11]: https://github.com/ianfixes/arduino_ci/compare/v0.1.10...v0.1.11
[0.1.10]: https://github.com/ianfixes/arduino_ci/compare/v0.1.9...v0.1.10
[0.1.9]: https://github.com/ianfixes/arduino_ci/compare/v0.1.8...v0.1.9
[0.1.8]: https://github.com/ianfixes/arduino_ci/compare/v0.1.7...v0.1.8
[0.1.7]: https://github.com/ianfixes/arduino_ci/compare/v0.1.6...v0.1.7
[0.1.6]: https://github.com/ianfixes/arduino_ci/compare/v0.1.5...v0.1.6
[0.1.5]: https://github.com/ianfixes/arduino_ci/compare/v0.1.4...v0.1.5
[0.1.4]: https://github.com/ianfixes/arduino_ci/compare/v0.1.3...v0.1.4
[0.1.3]: https://github.com/ianfixes/arduino_ci/compare/v0.1.2...v0.1.3
[0.1.2]: https://github.com/ianfixes/arduino_ci/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/ianfixes/arduino_ci/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/ianfixes/arduino_ci/compare/v0.0.1...v0.1.0
[0.0.1]: https://github.com/ianfixes/arduino_ci/compare/v0.0.0...v0.0.1
[Unreleased]: https://github.com/Arduino-CI/arduino_ci/compare/v0.3.0...HEAD
[0.3.0]: https://github.com/Arduino-CI/arduino_ci/compare/v0.2.1...v0.3.0
[0.2.1]: https://github.com/Arduino-CI/arduino_ci/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.21...v0.2.0
[0.1.21]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.20...v0.1.21
[0.1.20]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.19...v0.1.20
[0.1.19]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.18...v0.1.19
[0.1.18]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.17...v0.1.18
[0.1.17]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.16...v0.1.17
[0.1.16]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.15...v0.1.16
[0.1.15]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.14...v0.1.15
[0.1.14]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.13...v0.1.14
[0.1.13]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.12...v0.1.13
[0.1.12]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.11...v0.1.12
[0.1.11]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.10...v0.1.11
[0.1.10]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.9...v0.1.10
[0.1.9]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.8...v0.1.9
[0.1.8]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.7...v0.1.8
[0.1.7]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.6...v0.1.7
[0.1.6]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.5...v0.1.6
[0.1.5]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.4...v0.1.5
[0.1.4]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.3...v0.1.4
[0.1.3]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.2...v0.1.3
[0.1.2]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.1...v0.1.2
[0.1.1]: https://github.com/Arduino-CI/arduino_ci/compare/v0.1.0...v0.1.1
[0.1.0]: https://github.com/Arduino-CI/arduino_ci/compare/v0.0.1...v0.1.0
[0.0.1]: https://github.com/Arduino-CI/arduino_ci/compare/v0.0.0...v0.0.1
15 changes: 7 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@

# ArduinoCI Ruby gem (`arduino_ci`) [![Gem Version](https://badge.fury.io/rb/arduino_ci.svg)](https://rubygems.org/gems/arduino_ci) [![Documentation](https://img.shields.io/badge/docs-rdoc.info-blue.svg)](https://www.rubydoc.info/gems/arduino_ci/0.3.0)
# ArduinoCI Ruby gem (`arduino_ci`) [![Gem Version](https://badge.fury.io/rb/arduino_ci.svg)](https://rubygems.org/gems/arduino_ci) [![Documentation](http://img.shields.io/badge/docs-rdoc.info-blue.svg)](http://www.rubydoc.info/gems/arduino_ci/0.3.0)

You want to run tests on your Arduino library (bonus: without hardware present), but the IDE doesn't support that. Arduino CI provides that ability.

You want to precisely replicate certain software states in your library, but you don't have sub-millisecond reflexes for physically faking the inputs, outputs, and serial port. Arduino CI fakes 100% of the physical input and output of an Arduino board, including the clock.

You want your Arduino library to be automatically built and tested every time someone contributes code to your project on GitHub, but the Arduino IDE lacks the ability to run unit tests. [Arduino CI](https://github.com/ianfixes/arduino_ci) provides that ability.
You want your Arduino library to be automatically built and tested every time someone contributes code to your project on GitHub, but the Arduino IDE lacks the ability to run unit tests. [Arduino CI](https://github.com/Arduino-CI/arduino_ci) provides that ability.

`arduino_ci` is a cross-platform build/test system, consisting of a Ruby gem and a series of C++ mocks. It enables tests to be run both locally and as part of a CI service like Travis or Appveyor. Any OS that can run the Arduino IDE can run `arduino_ci`.

Platform | CI Status
---------|:---------
OSX | [![OSX Build Status](https://badges.herokuapp.com/travis/ianfixes/arduino_ci?env=BADGE=osx&label=build&branch=master)](https://travis-ci.org/ianfixes/arduino_ci)
Linux | [![Linux Build Status](https://badges.herokuapp.com/travis/ianfixes/arduino_ci?env=BADGE=linux&label=build&branch=master)](https://travis-ci.org/ianfixes/arduino_ci)
Windows | [![Windows Build status](https://ci.appveyor.com/api/projects/status/8f6e39dea319m83q/branch/master?svg=true)](https://ci.appveyor.com/project/ianfixes/arduino-ci)
OSX | [![OSX Build Status](http://badges.herokuapp.com/travis/Arduino-CI/arduino_ci?env=BADGE=osx&label=build&branch=master)](https://travis-ci.org/Arduino-CI/arduino_ci)
Linux | [![Linux Build Status](http://badges.herokuapp.com/travis/Arduino-CI/arduino_ci?env=BADGE=linux&label=build&branch=master)](https://travis-ci.org/Arduino-CI/arduino_ci)
Windows | [![Windows Build status](https://ci.appveyor.com/api/projects/status/abynv8xd75m26qo9/branch/master?svg=true)](https://ci.appveyor.com/project/ianfixes/arduino-ci)


## Comparison to Other Arduino Testing Tools

| Project | CI | Builds Examples | Unittest | Arduino Mocks | Windows | OSX | Linux | License |
|-----------------------------------------------------------------------------|:--:|:---------------:|:--------:|:-------------:|:-------:|:---:|:-----:|:--------|
|[ArduinoCI](https://github.com/ianfixes/arduino_ci) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |Free (Apache-2.0)|
|[ArduinoCI](https://github.com/Arduino-CI/arduino_ci) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |Free (Apache-2.0)|
|[ArduinoUnit](https://github.com/mmurdoch/arduinounit) | ❌ | ❌ | ⚠️ Hardware-based|❌ | ✅ | ✅ | ✅ |Free (MIT)|
|[Adafruit `ci-arduino`](https://github.com/adafruit/ci-arduino)| ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |Free (MIT)|
|[PlatformIO](https://platformio.org) | ✅ | ✅ | ⚠️ Paid only | ❌ | ✅ | ✅ | ✅ |⚠️ EULA|
Expand Down Expand Up @@ -156,7 +156,7 @@ test_script:

* The Arduino library is not fully mocked.
* I don't have preprocessor defines for all the Arduino board flavors
* https://github.com/ianfixes/arduino_ci/issues
* https://github.com/Arduino-CI/arduino_ci/issues


## Author
Expand All @@ -169,4 +169,3 @@ This gem was written by Ian Katz ([email protected]) in 2018. It's released un
* [Contributing](CONTRIBUTING.md)
* [Adafruit/ci-arduino](https://github.com/adafruit/ci-arduino) which inspired this project
* [mmurdoch/arduinounit](https://github.com/mmurdoch/arduinounit) from which the unit test macros were adopted

2 changes: 1 addition & 1 deletion SampleProjects/DoSomething/library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ maintainer=Ian Katz <[email protected]>
sentence=Arduino CI unit test example
paragraph=A skeleton library demonstrating CI and unit tests
category=Other
url=https://github.com/ianfixes/arduino_ci/SampleProjects/DoSomething
url=https://github.com/Arduino-CI/arduino_ci/SampleProjects/DoSomething
architectures=avr
includes=do-something.h
2 changes: 1 addition & 1 deletion SampleProjects/TestSomething/library.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ maintainer=Ian Katz <[email protected]>
sentence=Arduino CI unit test example
paragraph=A skeleton library demonstrating CI and unit tests
category=Other
url=https://github.com/ianfixes/arduino_ci/SampleProjects/TestSomething
url=https://github.com/Arduino-CI/arduino_ci/SampleProjects/TestSomething
architectures=avr,esp8266
includes=do-something.h
4 changes: 2 additions & 2 deletions arduino_ci.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ Gem::Specification.new do |spec|
spec.version = ArduinoCI::VERSION
spec.licenses = ['Apache-2.0']
spec.authors = ["Ian Katz"]
spec.email = ["ianfixes@gmail.com"]
spec.email = ["arduino.continuous.integration@gmail.com"]

spec.summary = "Tools for building and unit testing Arduino libraries"
spec.description = spec.description
spec.homepage = "http://github.com/ianfixes/arduino_ci"
spec.homepage = "http://github.com/Arduino-CI/arduino_ci"

spec.bindir = "exe"
rejection_regex = %r{^(test|spec|features)/}
Expand Down
2 changes: 1 addition & 1 deletion lib/arduino_ci/cpp_library.rb
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,7 @@ def arduino_library_src_dirs(aux_libraries)
subdirs = ["", "src", "utility"]
all_aux_include_dirs_nested = aux_libraries.map do |libdir|
# library manager coerces spaces in package names to underscores
# see https://github.com/ianfixes/arduino_ci/issues/132#issuecomment-518857059
# see https://github.com/Arduino-CI/arduino_ci/issues/132#issuecomment-518857059
legal_libdir = libdir.tr(" ", "_")
subdirs.map { |subdir| Pathname.new(@arduino_lib_dir) + legal_libdir + subdir }
end
Expand Down