2018-03-29 02:26:26 +00:00
|
|
|
sudo: false
|
|
|
|
language: python
|
2016-03-16 01:41:59 +00:00
|
|
|
cache: pip
|
2018-03-29 02:26:26 +00:00
|
|
|
dist: trusty
|
2016-03-16 01:41:59 +00:00
|
|
|
before_cache:
|
|
|
|
- rm -f $HOME/.cache/pip/log/debug.log
|
2018-03-29 02:26:26 +00:00
|
|
|
git:
|
|
|
|
depth: 1000
|
2018-03-29 18:46:12 +00:00
|
|
|
|
2018-04-03 17:12:16 +00:00
|
|
|
env:
|
|
|
|
global:
|
2018-04-03 18:07:12 +00:00
|
|
|
- TAHOE_LAFS_HYPOTHESIS_PROFILE=ci
|
2018-04-03 17:12:16 +00:00
|
|
|
|
2014-09-01 14:29:13 +00:00
|
|
|
install:
|
travis: big cleanup, make it work on OS-X
Travis defaults to giving us an OS-X 10.9 box, which has an OpenSSL that
is too old for the current cryptography-1.4 (note that a previous
version of this branch worked, but only because the previous
cryptography-1.3.x didn't enforce the OpenSSL version).
On OS-X, this new .travis.yml does the following:
* set "osx_image: xcode7" to get us 10.10, with newer OpenSSL
* uses system python, not homebrew
* installs pip with get-pip.py, since system python doesn't have it
* adds the --user directory to $PATH, since OS-X python doesn't have it
by default
On both linux and OS-X, this:
* installs tox and coveralls with --user, not to the system
* doesn't use sudo to run tox
* prints some extra debug info in case it's useful later
Closes #285
2016-06-21 20:21:05 +00:00
|
|
|
# ~/.local/bin is on $PATH by default, but on OS-X, --user puts it elsewhere
|
|
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export PATH=$HOME/Library/Python/2.7/bin:$PATH; fi
|
|
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then wget https://bootstrap.pypa.io/get-pip.py && sudo python ./get-pip.py; fi
|
|
|
|
- pip list
|
2018-03-29 02:26:26 +00:00
|
|
|
- if [ "${TRAVIS_OS_NAME}" = "osx" ]; then pip install --user --upgrade codecov tox setuptools; fi
|
|
|
|
- if [ "${TRAVIS_OS_NAME}" = "linux" ]; then pip install --upgrade codecov tox setuptools; fi
|
travis: big cleanup, make it work on OS-X
Travis defaults to giving us an OS-X 10.9 box, which has an OpenSSL that
is too old for the current cryptography-1.4 (note that a previous
version of this branch worked, but only because the previous
cryptography-1.3.x didn't enforce the OpenSSL version).
On OS-X, this new .travis.yml does the following:
* set "osx_image: xcode7" to get us 10.10, with newer OpenSSL
* uses system python, not homebrew
* installs pip with get-pip.py, since system python doesn't have it
* adds the --user directory to $PATH, since OS-X python doesn't have it
by default
On both linux and OS-X, this:
* installs tox and coveralls with --user, not to the system
* doesn't use sudo to run tox
* prints some extra debug info in case it's useful later
Closes #285
2016-06-21 20:21:05 +00:00
|
|
|
- echo $PATH; which python; which pip; which tox
|
|
|
|
- python misc/build_helpers/show-tool-versions.py
|
2018-03-29 18:46:12 +00:00
|
|
|
|
2016-02-23 20:23:19 +00:00
|
|
|
script:
|
2019-03-21 16:13:10 +00:00
|
|
|
- |
|
|
|
|
set -eo pipefail
|
|
|
|
if [ "${T}" = "py35" ]; then
|
2019-09-17 14:55:58 +00:00
|
|
|
python3 -m compileall -f -x tahoe-depgraph.py .
|
2019-03-21 16:13:10 +00:00
|
|
|
else
|
|
|
|
tox -e ${T}
|
|
|
|
fi
|
2019-10-07 15:31:29 +00:00
|
|
|
# To verify that the resultant PyInstaller-generated binary executes
|
|
|
|
# cleanly (i.e., that it terminates with an exit code of 0 and isn't
|
|
|
|
# failing due to import/packaging-related errors, etc.).
|
2019-10-04 15:14:40 +00:00
|
|
|
if [ "${T}" = "pyinstaller" ]; then dist/Tahoe-LAFS/tahoe --version; fi
|
2018-03-29 18:46:12 +00:00
|
|
|
|
2014-09-01 14:29:13 +00:00
|
|
|
after_success:
|
2018-03-29 18:46:12 +00:00
|
|
|
- if [ "${T}" = "coverage" ]; then codecov; fi
|
|
|
|
|
2013-09-01 01:49:03 +00:00
|
|
|
notifications:
|
|
|
|
email: false
|
|
|
|
irc:
|
|
|
|
channels: "chat.freenode.net#tahoe-lafs"
|
|
|
|
on_success: always # for testing
|
|
|
|
on_failure: always
|
|
|
|
template:
|
|
|
|
- "%{repository}#%{build_number} [%{branch}: %{commit} by %{author}] %{message}"
|
|
|
|
- "Changes: %{compare_url} | Details: %{build_url}"
|
2018-03-29 18:46:12 +00:00
|
|
|
|
2015-07-29 02:21:31 +00:00
|
|
|
matrix:
|
2018-03-28 20:45:27 +00:00
|
|
|
include:
|
|
|
|
- os: linux
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 18:46:12 +00:00
|
|
|
env: T=coverage LANG=en_US.UTF-8
|
2018-03-29 02:26:26 +00:00
|
|
|
- os: linux
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 18:46:12 +00:00
|
|
|
env: T=codechecks LANG=en_US.UTF-8
|
2018-03-29 19:12:20 +00:00
|
|
|
- os: linux
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 19:12:20 +00:00
|
|
|
env: T=pyinstaller LANG=en_US.UTF-8
|
2018-03-28 20:45:27 +00:00
|
|
|
- os: linux
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 18:46:12 +00:00
|
|
|
env: T=py27 LANG=C
|
2018-03-28 20:45:27 +00:00
|
|
|
- os: osx
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 18:46:12 +00:00
|
|
|
env: T=py27 LANG=en_US.UTF-8
|
2018-03-29 02:26:26 +00:00
|
|
|
language: generic # "python" is not available on OS-X
|
2018-03-29 19:12:20 +00:00
|
|
|
- os: osx
|
2019-03-21 16:13:10 +00:00
|
|
|
python: '2.7'
|
2018-03-29 19:12:20 +00:00
|
|
|
env: T=pyinstaller LANG=en_US.UTF-8
|
|
|
|
language: generic # "python" is not available on OS-X
|
2019-03-21 16:13:10 +00:00
|
|
|
# this is a "lint" job that checks for python3 compatibility
|
|
|
|
- os: linux
|
|
|
|
python: '3.5'
|
|
|
|
env: T=py35
|
|
|
|
|
2015-07-29 02:21:31 +00:00
|
|
|
fast_finish: true
|