Skip to content

Commit

Permalink
Merge pull request #23 from asmodehn/travis_matrix
Browse files Browse the repository at this point in the history
Travis matrix
  • Loading branch information
asmodehn authored Aug 8, 2017
2 parents df3129c + 3936813 commit 12e69ad
Show file tree
Hide file tree
Showing 5 changed files with 67 additions and 14 deletions.
19 changes: 17 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,29 @@ branches:
except:
- gh-pages

env:
- ROS_DISTRO=indigo
- ROS_DISTRO=kinetic
# Not LTS
- ROS_DISTRO=lunar

python:
# always test python2 (default supported python version for ROS1)
- 2.7
- 3.4
- 3.5
# always test latest python3 (to guarantee recent python support)
- 3.6
#- pypy
#- pypy3

# Add specific python3 versions
matrix:
include:
# explicitely matching python version to the version on the ubuntu distro supported by the ROS LTS distro
- python: 3.4
env: ROS_DISTRO=indigo
- python: 3.5
env: ROS_DISTRO=kinetic

before_install:

install:
Expand Down
2 changes: 1 addition & 1 deletion dev-requirements.txt → requirements/indigo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ numpy>=1.8.2 # from trusty version

# ros dependencies (necessary when running tests from install)
-e git+https://github.com/asmodehn/genmsg.git@setuptools#egg=ros_genmsg
-e git+https://github.com/asmodehn/genpy.git@setuptools-kinetic-py3#egg=ros_genpy
-e git+https://github.com/asmodehn/genpy.git@setuptools#egg=ros_genpy
14 changes: 14 additions & 0 deletions requirements/kinetic.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
gitchangelog
twine
pytest>=2.8.0 # as per hypothesis requirement (careful with 2.5.1 on trusty)
pytest-xdist # for --boxed (careful with the version it will be moved out of xdist)
hypothesis>=3.0.1 # to target xenial LTS version
numpy>=1.8.2 # from trusty version

# source access to latest filefinder and rosimport from git ...
-e git+https://github.com/asmodehn/filefinder2.git#egg=filefinder2
-e git+https://github.com/asmodehn/rosimport.git#egg=rosimport

# ros dependencies (necessary when running tests from install)
-e git+https://github.com/asmodehn/genmsg.git@setuptools#egg=ros_genmsg
-e git+https://github.com/asmodehn/genpy.git@setuptools-kinetic#egg=ros_genpy
14 changes: 14 additions & 0 deletions requirements/lunar.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
gitchangelog
twine
pytest>=2.8.0 # as per hypothesis requirement (careful with 2.5.1 on trusty)
pytest-xdist # for --boxed (careful with the version it will be moved out of xdist)
hypothesis>=3.0.1 # to target xenial LTS version
numpy>=1.8.2 # from trusty version

# source access to latest filefinder and rosimport from git ...
-e git+https://github.com/asmodehn/filefinder2.git#egg=filefinder2
-e git+https://github.com/asmodehn/rosimport.git#egg=rosimport

# ros dependencies (necessary when running tests from install)
-e git+https://github.com/asmodehn/genmsg.git@setuptools#egg=ros_genmsg
-e git+https://github.com/asmodehn/genpy.git@setuptools-kinetic#egg=ros_genpy
32 changes: 21 additions & 11 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,30 +1,40 @@
# content of: tox.ini , put in same dir as setup.py
[tox]
envlist = py27, py34, py35, py36
# Only considering ROS LTS for simplicity
envlist = py27-ros1{indigo,kinetic,lunar}, py34-ros1indigo, py35-ros1kinetic, py36-ros1{indigo,kinetic,lunar}

#, pypy
#, pypy3

[travis]
2.7 = py27
3.4 = py34
3.5 = py35
3.6 = py36
python =
# we test every current ROS1 distro on python 2.7 (official python support for ROS1)
2.7 : py27
# specific old python supported natively on ubuntu/ROS LTS distro
3.4 : py34
3.5 : py35
# we test every current ROS1 distro on latest python (to ensure support from pure python)
3.6 : py36

# not tested yet
#pypy = pypy
#pypy3 = pypy3

# Note : We can depend on travis matrix if needed
;[travis:env]
;DJANGO =
; 1.7: django17
; 1.8: django18, docs
# We depend on travis matrix
[travis:env]
ROS_DISTRO =
kinetic: ros1kinetic
indigo: ros1indigo
lunar: ros1lunar

[testenv]

# Dependencies matching the version in each ROS distro
deps =
# TODO : check why / how install_requires are installed or not in tox environments...
-rdev-requirements.txt
ros1indigo: -rrequirements/indigo.txt
ros1kinetic: -rrequirements/kinetic.txt
ros1lunar: -rrequirements/lunar.txt

# to always force recreation and avoid unexpected side effects
recreate=True
Expand Down

0 comments on commit 12e69ad

Please sign in to comment.