summaryrefslogtreecommitdiffhomepage
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml51
1 files changed, 40 insertions, 11 deletions
diff --git a/.travis.yml b/.travis.yml
index 772ff5be..c16632b7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,4 @@
+dist: xenial
language: python
sudo: false
cache:
@@ -8,33 +9,61 @@ python:
- "3.4"
- "3.5"
- "3.6"
- - "3.7-dev"
- - "pypy-5.6.0"
+ - "3.7"
+ - "3.8-dev"
+ - "pypy"
+ - "pypy3"
matrix:
allow_failures:
- - python: "3.7-dev"
+ - python: "3.8-dev"
# Explicitly test against our oldest supported cryptography.io, in addition
# to whatever the latest default is.
include:
- python: 2.7
- env: "CRYPTO_BEFORE=1.6"
- - python: 3.6
- env: "CRYPTO_BEFORE=1.6"
+ env: "OLDEST_CRYPTO=2.5"
+ - python: 3.7
+ env: "OLDEST_CRYPTO=2.5"
+ - python: 2.7
+ env: "USE_K5TEST=yes"
+ - python: 3.7
+ env: "USE_K5TEST=yes"
install:
# Ensure modern pip/etc to avoid some issues w/ older worker environs
- pip install pip==9.0.1 setuptools==36.6.0
# Grab a specific version of Cryptography if desired. Doing this before other
# installations ensures we don't have to do any downgrading/overriding.
- |
- if [[ -n "$CRYPTO_BEFORE" ]]; then
- pip install "cryptography<${CRYPTO_BEFORE}"
+ if [[ -n "$OLDEST_CRYPTO" ]]; then
+ pip install "cryptography==${OLDEST_CRYPTO}"
fi
- # Self-install for setup.py-driven deps
- - pip install -e .
+ # Self-install for setup.py-driven deps (plus additional
+ # safe-enough-for-all-matrix-cells optional deps)
+ # TODO: additional matrices or test steps to test all the entrypoints
+ - pip install -e ".[ed25519,invoke]"
# Dev (doc/test running) requirements
- # TODO: use pipenv + whatever contexty-type stuff it has
+ # TODO: use poetry + whatever contexty-type stuff it has, should be more than
+ # just prod/dev split. Also apply to the above re: extras_require.
- pip install codecov # For codecov specifically
- pip install -r dev-requirements.txt
+ - |
+ if [[ -n "$USE_K5TEST" ]]; then
+ # we need a few commands and libraries
+ # Debian/Ubuntu package: commands used by package k5test
+ # libkrb5-dev: krb5-config
+ # krb5-kdc: kdb5_util, krb5kdc
+ # krb5-admin-server: kadmin.local, kprop, kadmind
+ # krb5-user: kinit, klist
+ #
+ # krb5-multidev: required to build gssapi
+ sudo apt-get -y install libkrb5-dev krb5-admin-server \
+ krb5-kdc krb5-user krb5-multidev && \
+ pip install k5test gssapi pyasn1
+ fi
+ # In case of problems uncomment the following to get the krb environment
+ # - |
+ # if [[ -n "$USE_K5TEST" ]]; then
+ # python -c 'from tests.util import k5shell; k5shell()' env | sort
+ # fi
script:
# Fast syntax check failures for more rapid feedback to submitters
# (Travis-oriented metatask that version checks Python, installs, runs.)