Shippable

Shippable is a hosted cloud platform that provides hosted continuous integration, deployment, and testing to GitHub and BitBucket repositories. Shippable’s continuous integration service is built using Docker.

Shippable is configured by adding a file named shippable.yml, which is a YAML format text file, to the root directory of the GitHub repository or you can use your Travis CI configuration file .travis.yml.

Shippable automatically detects when a commit has been made and pushed to a GitHub repository that is using Shippable, and each time this happens, it will try to build the project using platformio ci command. This includes commits to all branches, not just to the master branch. Shippable will also build and run pull requests. When that process has completed, it will notify a developer in the way it has been configured to do so — for example, by sending an email containing the build results (showing success or failure), or by posting a message on an IRC channel. It can be configured to build project on a range of different Development Platforms.

Integration

Please put shippable.yml or .travis.yml to the root directory of the GitHub repository.

language: python
python:
    - "2.7"

env:
    - PLATFORMIO_CI_SRC=path/to/source/file.c
    - PLATFORMIO_CI_SRC=path/to/source/file.ino
    - PLATFORMIO_CI_SRC=path/to/source/directory

install:
    - pip install -U platformio

script:
    - platformio ci --board=<ID_1> --board=<ID_2> --board=<ID_N>

For more details as for PlatformIO build process please look into platformio ci command.

Examples

  1. Integration for USB_Host_Shield_2.0 project. The shippable.yml or .travis.yml configuration file:

language: python
python:
    - "2.7"

env:
    - PLATFORMIO_CI_SRC=examples/Bluetooth/PS3SPP/PS3SPP.ino
    - PLATFORMIO_CI_SRC=examples/pl2303/pl2303_gps/pl2303_gps.ino

install:
    - pip install -U platformio
    - wget https://github.com/xxxajk/spi4teensy3/archive/master.zip -O /tmp/spi4teensy3.zip
    - unzip /tmp/spi4teensy3.zip -d /tmp

script:
    - platformio ci --lib="." --lib="/tmp/spi4teensy3-master" --board=uno --board=teensy31 --board=due