polylabel 2.3.1

A Rust implementation of the Polylabel algorithm for finding optimum polygon label positions.
Documentation
dist: trusty
language: rust
services: docker
sudo: required
addons:
    apt:
        packages:
            - libssl-dev
env:
  global:
    # This will be part of the release tarball
    # TODO change the project name
    - CRATE_NAME=polylabel-rs
    - TRAVIS_CARGO_NIGHTLY_FEATURE=""
    - DOCKER_IMAGE=quay.io/pypa/manylinux1_x86_64
    # GH_TOKEN
    - secure: duS4EzFgamSd0mhi/MVsWnnyZpn9031VFSmoNIaLocP/vLRalkewMf/vkc2QCt6L4uJgts6kL3j3JcC9lYa5D6MJwwyAxkn6KwivrG6g/Z+mywjDll+P9iqIF96O0okFxnITu3I4yZDsYb9ERH25sfYzetAFbvjc3vOL8FD6bHboo65iukDWrl18QS8qdHycAb7Q9mxjK+0HbP0IjlROLhjzwJ3/xQ40Cv2xgZKnNGH2QsrbLhnKvrvoScU7AZR3gw5XaNWyiVkVmHEfwNwFYX/LDAeTIzH3sdYFTjersDHLFbmTzLSQuIHfEvSzzBdvasUiZIGF/rsFjjhsov5pjXRbwaZUHrPH6Gkmx916T/vZyWeg38QJvsdZ6n//gbas+Nnr4g/mvVGfZDlr1+RTKZWCmf5HjuC3Wsa59RTkr1+d7p2tefUk52N4cPcn+MF/zXT8EmnL//O/QNjQaLMdmYvnQcWykMtwY2JkHgiuNRy7LRO9NACDw16rVjM0HNGI3XXGTYwL0cB02SSSAkK4/8dHspc8XT57/QLW1XTqk1osgbrTNXxx9ajwpKkXKdbfXmN2hxGHtixtQrwgWEZTuWC6E70RTfLYnu62bZ/jaqx2E/EDVZu3/wq1vBLcal1UCYh9L3ln3RtEAzKNPUtHBKGeEfkaZ+i52jLoUir4lCo=

matrix:
  include:
    # STABLE
    - os: osx
      osx_image: xcode11.2
      rust: stable
      env: TARGET=x86_64-apple-darwin

    - os: linux
      rust: stable
      env: TARGET=x86_64-unknown-linux-gnu
      services: docker

    # BETA
    - os: osx
      rust: beta
      osx_image: xcode11.2
      env: TARGET=x86_64-apple-darwin

    - os: linux
      rust: beta
      env: TARGET=x86_64-unknown-linux-gnu

    # NIGHTLY
    - os: osx
      osx_image: xcode11.2
      rust: nightly
      env: TARGET=x86_64-apple-darwin

    - os: linux
      rust: nightly
      env: TARGET=x86_64-unknown-linux-gnu

before_install:
  - set -e

install:
  - bash ci/install.sh
  - source ~/.cargo/env || true

script:
  - bash ci/script.sh

after_script: set +e

after_success: |
  if [[ "$TRAVIS_RUST_VERSION" == stable ]] && [[ "$TARGET" == "x86_64-unknown-linux-gnu" ]]; then
    RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo install cargo-tarpaulin
    # Uncomment the following line for coveralls.io
    cargo tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID

  fi

before_deploy:
  # OSX deploy doesn't need a Dockerised manylinux1 build
  - if [[ "$TARGET" == "x86_64-apple-darwin" ]]; then bash ci/before_deploy_osx.sh; fi
  # Linux deploy needs Dockerised manylinux1 artefacts
  - if [[ "$TARGET" == "x86_64-unknown-linux-gnu" ]]; then docker pull $DOCKER_IMAGE; fi
  - if [[ "$TARGET" == "x86_64-unknown-linux-gnu" ]]; then sudo docker run -e TRAVIS_TAG="$TRAVIS_TAG" --rm -v `pwd`:/io $DOCKER_IMAGE /io/ci/before_deploy_manylinux1.sh; fi
  
deploy:
  # TODO update `api_key.secure`
  # - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new
  # - Encrypt it: `travis encrypt 0123456789012345678901234567890123456789
  # - Paste the output down here
  api_key:
        - secure: Ow/YGlhzIMhfjwSPVEu7AdJBDGsIq/fQ9/T/YG4QGwXSPS96SghS1872HNkGLEVuudFHbl24Xk7MtDQFeLN5fcQFM1sz3TjqAeHDaBb5YOppMkmcAt3qL0CAxXj9OjHRqv3o80kTsyVl0NCIxxLrJUOIllvG9+Tmsuuaqp3wK0Ijk2voYb16kY9Zx1Ui8jl5N4WuljCK/OwQfOQdvLT9bQFoiHGdxni35JzEGHw7NpALwm6PnLptQWn/DweAHY3lvrHea0brIjLf8hkN49hN120l+LL/wcYcky2NyIvu7UJLbZTOuZgS3BpfZtRCzcTmosejVhfymJcUbSDQbkBRsjDDAx7tcuN/u4EiC0utAyB8T+V3iCMjue0Ndvn+ZFi8h6GVmhi5OgAFYDfTn0yOexn6AihPSjNSXV3jGJ5M3gtT2kauNwRete6LZJK+d2pnzsQJ256nnuknJaJ2/jm9oAT429a/Ewyy+aebxERYYMDqd+Kk8+mCKk2nYGiw4ADJsxanu1bdAjcJ9Og8i1cpITnkFwhREVVGmleLlhkT6ekzrETJSuqA7KeffonlSMSbUV3d8oQHeYGZvnUJnJ+yaobUq2mmdzb1qDv23AdH/1mrf0Y7kNeiaVKBYaikm6MMd/KWQeG4eARZFBbv/lXkuRuSp0OpnIHAlgAAHJciKsM=
  file_glob: true
  file: $CRATE_NAME-$TRAVIS_TAG-$TARGET.*
  # don't delete the artifacts from previous phases
  skip_cleanup: true
  # deploy when a new tag is pushed
  on:
    # TODO Here you can pick which targets will generate binary releases
    # In this example, there are some targets that are tested using the stable
    # and nightly channels. This condition makes sure there is only one release
    # for such targets and that's generated using the stable channel
    condition: $TRAVIS_RUST_VERSION = stable
    tags: true
  provider: releases

cache: cargo
before_cache:
  # Travis can't cache files that are not readable by "others"
  - chmod -R a+r $HOME/.cargo

branches:
  only:
    # release tags
    - /^v\d+\.\d+\.\d+.*$/
    - master

notifications:
  email:
    on_success: never