language: rust
sudo: false
addons:
apt:
packages:
- libssl-dev
stages:
- build
- test
- name: release
if: tag =~ ^v(\d+\.)*\d+$
jobs:
include:
- stage: build
rust: stable
script: &build-script
- cargo build --verbose --all
cache: cargo
- stage: build
rust: beta
script: *build-script
- stage: build
rust: nightly
script: *build-script
- stage: build
rust: stable
os: osx
script: *build-script
- stage: test
script: cargo test --verbose --all
cache: cargo
- stage: release
script: skip
deploy:
provider: releases
api_key: $GITHUB_OAUTH_TOKEN
skip_cleanup: true
- stage: release
script:
- echo $CARGO_TOKEN | cargo login
- cargo publish --verbose