87 lines
1.9 KiB
YAML
87 lines
1.9 KiB
YAML
language: python
|
|
|
|
dist: xenial
|
|
|
|
cache:
|
|
pip: true
|
|
cargo: true
|
|
|
|
matrix:
|
|
include:
|
|
- name: Python 3.5
|
|
python: "3.5"
|
|
- name: Python 3.6
|
|
python: "3.6"
|
|
- name: Python 3.7
|
|
python: "3.7"
|
|
- name: Python 3.8-dev
|
|
python: "3.8-dev"
|
|
- name: Minimum nightly
|
|
python: "3.7"
|
|
# Keep this synced up with build.rs
|
|
env: TRAVIS_RUST_VERSION=nightly-2019-07-19
|
|
# Tested via anaconda PyPy (since travis's PyPy version is too old)
|
|
- name: PyPy3.5 7.0
|
|
python: "3.7"
|
|
env: FEATURES="pypy" PATH="$PATH:/opt/anaconda/envs/pypy3/bin"
|
|
allow_failures:
|
|
- python: "3.8-dev"
|
|
|
|
env:
|
|
global:
|
|
- TRAVIS_RUST_VERSION=nightly
|
|
- RUST_BACKTRACE=1
|
|
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- libcurl4-openssl-dev
|
|
- libelf-dev
|
|
- libdw-dev
|
|
- cmake
|
|
- gcc
|
|
- binutils-dev
|
|
- libiberty-dev
|
|
|
|
before_install:
|
|
- source ./ci/travis/setup.sh
|
|
- curl -L https://github.com/mozilla/grcov/releases/latest/download/grcov-linux-x86_64.tar.bz2 | tar jxf -
|
|
|
|
install:
|
|
- pip install setuptools-rust pytest pytest-benchmark tox
|
|
|
|
script:
|
|
# Options for grcov
|
|
- if ! [[ $FEATURES == *"pypy"* ]]; then export CARGO_INCREMENTAL=0; fi
|
|
- if ! [[ $FEATURES == *"pypy"* ]]; then export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Zno-landing-pads"; fi
|
|
- ./ci/travis/test.sh
|
|
|
|
after_success:
|
|
- ./ci/travis/cover.sh || true
|
|
|
|
deploy:
|
|
- provider: script
|
|
skip_cleanup: true
|
|
script: ./ci/travis/cover.sh || true
|
|
on:
|
|
branch: master
|
|
condition: $TRAVIS_EVENT_TYPE != "cron"
|
|
- provider: script
|
|
skip_cleanup: true
|
|
script: ./ci/travis/guide.sh
|
|
on:
|
|
branch: master
|
|
repo: PyO3/pyo3
|
|
python: 3.6
|
|
condition: $TRAVIS_EVENT_TYPE != "cron"
|
|
- provider: script
|
|
skip_cleanup: true
|
|
script: ./ci/travis/guide.sh
|
|
on:
|
|
tags: true
|
|
repo: PyO3/pyo3
|
|
python: 3.6
|
|
|
|
notifications:
|
|
email: false
|