tantivy-py/.travis.yml

109 lines
3.5 KiB
YAML

language: python
dist: bionic
services:
- docker
python:
- 3.7
- 3.8
stages:
- test
- lint
cache:
pip: true
cargo: true
before_cache:
- rm -rfv target/debug/incremental/{tantivy,build_script_build,common}-*
- rm -rfv target/debug/.fingerprint/tantivy-*
- rm -rfv target/debug/build/tantivy-*
- rm -rfv target/debug/deps/libtantivy-*
- rm -rfv target/debug/deps/tantivy-*
- rm -rfv target/debug/{tantivy,libtantivy}.d
env:
global:
- TRAVIS_RUST_VERSION=nightly
- RUST_BACKTRACE=1
- secure: ZR/4EeOZBCa63aYIuSo36c2DsJoRpOUTQo3zcPzOJoxFxvCTYUJnyX8P38hktdcTcpgEm1ALDbsQDZNboJIP80OkLtWbaQNHgP6jFLqbENryyXYmPunbU9QQWOZaFhEJ+kgUun3kBLYoTW0iZFcJ0AHzjogOEenxKan4lFsZG9Wgku8Q0HX0zK8PPk6ZpMASUrmDAUbW/K6fVuxpix+VF6iPeK1IOxnDSn9CMBI6F1Tq46J/kWzMOWthVthjA0G0OiXi4eQN3ysP/o4bYpr1mifiHCssVKpfwmpqoDR3Nka9H39RN8xcn4X+0h5XA+jAVsD4qUfOcg2otkuZST/h0r1Q30/NrxWmxS6PtIImVlOAxotEkrRwt/DT0sXSRbApmyLApPDPKJ16mjm1miAZvXeJOwB1pT9SKqyxlh4+pPOnXUMYVH44XVCTF7C3zsgxMmv3frRbKfcedJAon4UIIZdE3guA83aadTk6HEXXefmAsxEyJDsA3NJJ8Wm5GkGvrFJZnI9X88eYLX0+H+NW/RHi0CCi6JfnsFjmDpXLRkdAxN8fRIaaDBmleir2AFFXYHAPdcM7z/B1HnTTJBbjeezFwb8JvFPZzxIOijxVfIVeoGcOwgpFzm2wHEi0AH4z2KtAzDQnhdhmle3Q4TrCt78e0iFJb1dANbdmhYpe/xI=
install:
- pip install --upgrade pip
- pip install -U pytest
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly
- source "$HOME"/.cargo/env
- cargo build
- cp target/debug/libtantivy.so tantivy/tantivy.so
before_script:
- rustc --version
- python --version
jobs:
include:
- os: osx
osx_image: xcode11.3
language: rust
install:
- pyenv install --list
- pyenv install 3.8.0
- ls /Users/travis/.pyenv/versions/3.8.0/bin
- export PATH=/Users/travis/.pyenv/versions/3.8.0/bin:$PATH
- pip3 install -U maturin pytest
- maturin list-python
- cargo build
- cp target/debug/libtantivy.dylib tantivy/tantivy.so
script:
- python3 -m pytest -v
- os: windows
language: rust
install:
- choco install python --version 3.8.0
- choco install python --version 3.7.5 --side-by-side
- python -m pip install --upgrade pip
- pip3 install -U maturin pytest
- maturin list-python
- cargo build
- dir target/debug
- cp target/debug/tantivy.dll tantivy/tantivy.pyd
env: PATH=/c/Python38:/c/Python37:/c/Python38/Scripts:/c/Python37/Scripts:$PATH
- language: rust
name: 'rust linters'
install: rustup component add clippy rustfmt
script:
- cargo clippy
- cargo fmt -- --check
stage: lint
script:
- python -m pytest -v
deploy:
# Deploy for linux using the manylinux docker image.
- provider: script
script: "ci/deploy.sh"
on:
tags: true
condition: $TRAVIS_OS_NAME = linux
repo: tantivy-search/tantivy-py
python: 3.8
# Deploy for macos using maturin directly
- provider: script
script: "ci/deploy_mac.sh"
on:
tags: true
condition: $TRAVIS_OS_NAME = osx
repo: tantivy-search/tantivy-py
# Deploy for windows using maturin directly
- provider: script
script: maturin publish --username __token__ --password $MATURIN_PASSWORD --no-sdist
on:
tags: true
condition: $TRAVIS_OS_NAME = windows
repo: tantivy-search/tantivy-py