Github user tliron commented on a diff in the pull request:
https://github.com/apache/incubator-ariatosca/pull/191#discussion_r138101902
--- Diff: .travis.yml ---
@@ -10,36 +10,55 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-sudo: false
+# We need to set "sudo: true" in order to use a virtual machine instead of
a container, because
+# SSH tests fail in the container. See:
+#
https://docs.travis-ci.com/user/reference/overview/#Virtualization-environments
+
+dist: trusty
+sudo: true
language: python
-dist: precise
+addons:
+ apt:
+ sources:
+ - sourceline: 'ppa:fkrull/deadsnakes'
+ packages:
+ # Ubuntu 14.04 (trusty) does not come with Python 2.6, so we will
install it from Felix
+ # Krull's PPA
+ - python2.6
+ - python2.6-dev
+
python:
+ # We handle Python 2.6 testing from within tox (see tox.ini); note that
this means that we run
+ # tox itself always from Python 2.7
- '2.7'
env:
- - TOX_ENV=pylint_code
- - TOX_ENV=pylint_tests
- - TOX_ENV=py27
- - TOX_ENV=py26
- - TOX_ENV=py27e2e
- - TOX_ENV=py26e2e
- - TOX_ENV=py27ssh
- - TOX_ENV=py26ssh
- - TOX_ENV=docs
-
-install:
+ # The PYTEST_PROCESSES environment var is used in tox.ini to override
the --numprocesses argument
+ # for PyTest's xdist plugin. The reason this is necessary is that
conventional Travis environments
+ # may report a large amount of available CPUs, but they they are greatly
restricted. Through trial
+ # and error we found that more than 1 process may result in failures.
+ - PYTEST_PROCESSES=1 TOX_ENV=pylint_code
+ - PYTEST_PROCESSES=1 TOX_ENV=pylint_tests
+ - PYTEST_PROCESSES=1 TOX_ENV=py27
+ - PYTEST_PROCESSES=1 TOX_ENV=py26
+ - PYTEST_PROCESSES=1 TOX_ENV=py27e2e
+ - PYTEST_PROCESSES=1 TOX_ENV=py26e2e
+ - PYTEST_PROCESSES=1 TOX_ENV=py27ssh
+ - PYTEST_PROCESSES=1 TOX_ENV=py26ssh
+ - PYTEST_PROCESSES=1 TOX_ENV=docs
+
+before_install:
+ # Create SSH keys for SSH tests
+ - ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N ''
--- End diff --
As I mentioned in Slack, I added the use of keys during trying to fix the
SSH tests, but when I managed to get them passing finally I decided to keep
this change because I feel it tests more things: specifically the parts of
Python cryptography support. Since using keys instead of passwords is by far
more common in cloud platforms (it should be required, really!) I thought it
would more sense to keep this test as is.
Also not that our SSH tests are specifically designed for Travis, anyway,
so I don't see a problem with the .travis.yml file corresponding to it.
---