mirror of
https://github.com/platformio/platformio-core.git
synced 2025-08-01 19:04:29 +02:00
Improve Travis CI doc
This commit is contained in:
@@ -12,7 +12,7 @@ Here are recent articles about PlatformIO:
|
|||||||
2015
|
2015
|
||||||
^^^^
|
^^^^
|
||||||
|
|
||||||
* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PaltformIO <https://electronicventurer.wordpress.com/2015/10/18/first-arduino-i2c-experience/>`_
|
* Oct 18, 2015 - **Nico Coetzee** - `First Arduino I2C Experience with PlatformIO <https://electronicventurer.wordpress.com/2015/10/18/first-arduino-i2c-experience/>`_
|
||||||
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
* Sep 01, 2015 - **Thomas P. Weldon, Ph.D.** - `Improvised MBED FRDM-K64F Eclipse/PlatformIO Setup and Software Installation <http://thomasweldon.com/tpw/courses/embeddsp/p00pcFrdmK64_eclipsePlatformioSetup.html>`_
|
||||||
* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi <http://www.russelldavis.org/2015/08/01/platformio-on-the-raspberry-pi/>`_
|
* Aug 01, 2015 - **Russell Davis** - `PlatformIO on the Raspberry Pi <http://www.russelldavis.org/2015/08/01/platformio-on-the-raspberry-pi/>`_
|
||||||
* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (German) <https://www.dinotools.de/2015/07/25/erste-schritte-mit-platformio/>`_
|
* Jul 25, 2015 - **DinoTools** - `Erste Schritte mit PlatformIO (German) <https://www.dinotools.de/2015/07/25/erste-schritte-mit-platformio/>`_
|
||||||
|
@@ -22,6 +22,8 @@ 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
|
message on an IRC channel. It can be configured to build project on a range of
|
||||||
different :ref:`platforms`.
|
different :ref:`platforms`.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
Integration
|
Integration
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@@ -21,6 +21,8 @@ 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
|
message on an IRC channel. It can be configured to build project on a range of
|
||||||
different :ref:`platforms`.
|
different :ref:`platforms`.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
Integration
|
Integration
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@@ -20,6 +20,8 @@ the way it has been configured to do so — for example, by sending an email
|
|||||||
containing the build results (showing success or failure). It can be
|
containing the build results (showing success or failure). It can be
|
||||||
configured to build project on a range of different :ref:`platforms`.
|
configured to build project on a range of different :ref:`platforms`.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
Integration
|
Integration
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@@ -24,6 +24,8 @@ 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
|
message on an IRC channel. It can be configured to build project on a range of
|
||||||
different :ref:`platforms`.
|
different :ref:`platforms`.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
Integration
|
Integration
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
|
@@ -21,10 +21,17 @@ 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
|
message on an IRC channel. It can be configured to build project on a range of
|
||||||
different :ref:`platforms`.
|
different :ref:`platforms`.
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
Integration
|
Integration
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
Please put ``.travis.yml`` to the root directory of the GitHub repository.
|
Please make sure to read Travis CI `Getting Started <http://docs.travis-ci.com/user/getting-started/>`_
|
||||||
|
and `general build configuration <http://docs.travis-ci.com/user/customizing-the-build/>`_
|
||||||
|
guides first.
|
||||||
|
|
||||||
|
PlatformIO is written in Python and is recommended to be run within
|
||||||
|
`Travis CI Python isolated environment <http://docs.travis-ci.com/user/languages/python/#Travis-CI-Uses-Isolated-virtualenvs>`_:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
@@ -32,22 +39,106 @@ Please put ``.travis.yml`` to the root directory of the GitHub repository.
|
|||||||
python:
|
python:
|
||||||
- "2.7"
|
- "2.7"
|
||||||
|
|
||||||
|
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||||
|
sudo: false
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- "~/.platformio"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- PLATFORMIO_CI_SRC=path/to/source/file.c
|
- PLATFORMIO_CI_SRC=path/to/test/file.c
|
||||||
- PLATFORMIO_CI_SRC=path/to/source/file.ino
|
- PLATFORMIO_CI_SRC=examples/file.ino
|
||||||
- PLATFORMIO_CI_SRC=path/to/source/directory
|
- PLATFORMIO_CI_SRC=path/to/test/directory
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
- pip install -U platformio
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
- platformio ci --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||||
|
|
||||||
|
Then perform steps 1, 2 and 4 from http://docs.travis-ci.com/user/getting-started/
|
||||||
|
|
||||||
Then see step 1, 2, and step 4 here: http://docs.travis-ci.com/user/getting-started/
|
For more details as for PlatformIO build process please look into :ref:`cmd_ci`.
|
||||||
|
|
||||||
For more details as for PlatformIO build process please look into :ref:`cmd_ci`
|
Project as a library
|
||||||
command.
|
~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
When project is written as a library (where own examples or testing code use
|
||||||
|
it), please use ``--lib="."`` option for :ref:`cmd_ci` command
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
script:
|
||||||
|
- platformio ci --lib="." --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||||
|
|
||||||
|
Library dependecies
|
||||||
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
There 2 options to test source code with dependent libraries:
|
||||||
|
|
||||||
|
Install dependent library using :ref:`librarymanager`
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
install:
|
||||||
|
- pip install -U platformio
|
||||||
|
|
||||||
|
#
|
||||||
|
# Libraries from PlatformIO Library Registry:
|
||||||
|
#
|
||||||
|
# http://platformio.org/#!/lib/show/1/OneWire
|
||||||
|
platformio lib install 1
|
||||||
|
|
||||||
|
Manually download dependent library and include in build process via ``--lib`` option
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
install:
|
||||||
|
- pip install -U platformio
|
||||||
|
|
||||||
|
# download library to the temporary directory
|
||||||
|
wget https://github.com/PaulStoffregen/OneWire/archive/master.zip -O /tmp/onewire_source.zip
|
||||||
|
unzip /tmp/onewire_source.zip -d /tmp/
|
||||||
|
|
||||||
|
script:
|
||||||
|
- platformio ci --lib="/tmp/OneWire-master" --board=TYPE_1 --board=TYPE_2 --board=TYPE_N
|
||||||
|
|
||||||
|
Custom Build Flags
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
PlatformIO allows to specify own build flags using :envvar:`PLATFORMIO_BUILD_FLAGS` environment
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
env:
|
||||||
|
- PLATFORMIO_CI_SRC=path/to/test/file.c PLATFORMIO_BUILD_FLAGS="-D SPECIFIC_MACROS_PER_TEST_ENV -I/extra/inc"
|
||||||
|
- PLATFORMIO_CI_SRC=examples/file.ino
|
||||||
|
- PLATFORMIO_CI_SRC=path/to/test/directory
|
||||||
|
|
||||||
|
install:
|
||||||
|
- pip install -U platformio
|
||||||
|
|
||||||
|
export PLATFORMIO_BUILD_FLAGS=-D GLOBAL_MACROS_FOR_ALL_TEST_ENV
|
||||||
|
|
||||||
|
|
||||||
|
For the more details, please follow to
|
||||||
|
:ref:`available build flags/options <projectconf_build_flags>`.
|
||||||
|
|
||||||
|
|
||||||
|
Advanced configuration
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
PlatformIO allows to configure multiple build environments for the single
|
||||||
|
source code using :ref:`projectconf`.
|
||||||
|
|
||||||
|
Instead of ``--board`` option, please use :option:`platformio ci --project-conf`
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
script:
|
||||||
|
- platformio ci --project-conf=/path/to/platoformio.ini
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
--------
|
--------
|
||||||
@@ -61,6 +152,12 @@ Examples
|
|||||||
python:
|
python:
|
||||||
- "2.7"
|
- "2.7"
|
||||||
|
|
||||||
|
# Cache PlatformIO packages using Travis CI container-based infrastructure
|
||||||
|
sudo: false
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- "~/.platformio"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- PLATFORMIO_CI_SRC=examples/acm/acm_terminal
|
- PLATFORMIO_CI_SRC=examples/acm/acm_terminal
|
||||||
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
|
- PLATFORMIO_CI_SRC=examples/Bluetooth/WiiIRCamera PLATFORMIO_BUILD_FLAGS="-DWIICAMERA"
|
||||||
@@ -69,9 +166,11 @@ Examples
|
|||||||
# - ...
|
# - ...
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/master/scripts/get-platformio.py)"
|
- pip install -U platformio
|
||||||
|
|
||||||
# Libraries from PlatformIO Library Registry
|
#
|
||||||
|
# Libraries from PlatformIO Library Registry:
|
||||||
|
#
|
||||||
# http://platformio.org/#!/lib/show/416/TinyGPS
|
# http://platformio.org/#!/lib/show/416/TinyGPS
|
||||||
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
# http://platformio.org/#!/lib/show/417/SPI4Teensy3
|
||||||
- platformio lib install 416 417
|
- platformio lib install 416 417
|
||||||
|
Reference in New Issue
Block a user