Browse Source

Continuous Integration using @PlatformIO and @travis-ci

Hi @PaulStoffregen,

I see that your project contains the practical examples. All of us understand that it’s not easy to test them before each new commit to this repository. What is more, need to be sure that all of these examples are actual and compile without errors.

I propose to solve this task using [Continuous integration](https://en.wikipedia.org/wiki/Continuous_integration) practice which is intended to detect [integration bugs](https://en.wikipedia.org/wiki/Software_testing#Integration_testing) and save time over the lifespan of a project.

## How does it work?
The each new commit to this repository will be tested using existing examples with appropriate platforms/embedded boards. @PlatformIO is used here as cross-platform code builder and library manager in pair with @travis-ci (distributed continuous integration service). 

## Quickstart
Please enable @travis-ci following the steps 1, 2 and 5 here http://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI%3A 

For more details please follow to:

* Official Travis CI Documentation for PlatformIO: https://docs.travis-ci.com/user/integration/platformio/
* PlatformIO documentation for Travis CI: http://docs.platformio.org/en/latest/ci/travis.html

## Status Badge
You can add [badge with build status](https://docs.travis-ci.com/user/status-images/) to your README

**Markdown**
```
[![Build Status](https://travis-ci.org/PaulStoffregen/Audio.svg?branch=master)](https://travis-ci.org/PaulStoffregen/Audio)
```

**RST**
```
.. image:: https://travis-ci.org/PaulStoffregen/Audio.svg?branch=master
    :target: https://travis-ci.org/PaulStoffregen/Audio
```

## Examples

* Project [USB_Host_Shield_2.0](https://github.com/felis/USB_Host_Shield_2.0) [![Build Status](https://travis-ci.org/felis/USB_Host_Shield_2.0.svg?branch=master)](https://travis-ci.org/felis/USB_Host_Shield_2.0)
* Project [Arduino-IRremote](https://github.com/z3t0/Arduino-IRremote) [![Build Status](https://travis-ci.org/z3t0/Arduino-IRremote.svg?branch=master)](https://travis-ci.org/z3t0/Arduino-IRremote)
* Project [ethercard](https://github.com/jcw/ethercard) [![Build Status](https://travis-ci.org/jcw/ethercard.svg?branch=master)](https://travis-ci.org/jcw/ethercard)
dds
Ivan Kravets 9 years ago
parent
commit
fed597678b
1 changed files with 62 additions and 0 deletions
  1. +62
    -0
      .travis.yml

+ 62
- 0
.travis.yml View File

@@ -0,0 +1,62 @@
language: python
python:
- "2.7"

# Cache PlatformIO packages using Travis CI container-based infrastructure
sudo: false
cache:
directories:
- "~/.platformio"

env:
- PLATFORMIO_CI_SRC=examples/MemoryAndCpuUsage
- PLATFORMIO_CI_SRC=examples/Recorder
- PLATFORMIO_CI_SRC=examples/SamplePlayer
- PLATFORMIO_CI_SRC=examples/WavFilePlayer
- PLATFORMIO_CI_SRC=examples/Analysis/DialTone_7segment
- PLATFORMIO_CI_SRC=examples/Analysis/DialTone_Serial
- PLATFORMIO_CI_SRC=examples/Analysis/FFT
- PLATFORMIO_CI_SRC=examples/Analysis/PeakMeterMono
- PLATFORMIO_CI_SRC=examples/Analysis/PeakMeterStereo
- PLATFORMIO_CI_SRC=examples/Analysis/SpectrumAnalyzerBasic
- PLATFORMIO_CI_SRC=examples/Effects/Bitcrusher
- PLATFORMIO_CI_SRC=examples/Effects/Chorus
- PLATFORMIO_CI_SRC=examples/Effects/Delay
- PLATFORMIO_CI_SRC=examples/Effects/Filter
- PLATFORMIO_CI_SRC=examples/Effects/Filter_FIR
- PLATFORMIO_CI_SRC=examples/Effects/Flange
- PLATFORMIO_CI_SRC=examples/HardwareTesting/PassThroughMono
- PLATFORMIO_CI_SRC=examples/HardwareTesting/PassThroughStereo
- PLATFORMIO_CI_SRC=examples/HardwareTesting/SdCardTest
- PLATFORMIO_CI_SRC=examples/HardwareTesting/ToneSweep
- PLATFORMIO_CI_SRC=examples/HardwareTesting/WM8731MikroSine
- PLATFORMIO_CI_SRC=examples/Synthesis/PlaySynthMusic
- PLATFORMIO_CI_SRC=examples/Synthesis/pulseWidth
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_1_02_Hardware_Test
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_1_03_Playing_Music
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_1_04_Blink_While_Playing
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_1_05_Do_More_While_Playing
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_01_First_Design_Tool_Use
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_02_Mixers
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_03_Samples
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_04_Microphone_Check
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_05_Simple_Delay
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_06_Feedback_Delay
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_07_Filters
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_2_08_Oscillators
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_3_01_Peak_Detection
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_3_02_Fourier_Transform
- PLATFORMIO_CI_SRC=examples/Tutorial/Part_3_03_TFT_Display

install:
- pip install -U platformio

# install dependent libraries
# http://platformio.org/#!/lib/show/539/SerialFlash
- platformio lib install 539

# remove "extras" directory
- rm -r extras

script:
- platformio ci --lib=. --board=teensy31

Loading…
Cancel
Save