diff --git a/.travis.yml b/.travis.yml index 2976b91..1ca959d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,15 @@ language: rust +rust: stable -matrix: +stages: + - name: tests + - name: release + if: tag IS present + +jobs: include: - - os: linux - rust: stable - env: TARGET=x86_64-unknown-linux-gnu - - os: osx - rust: stable - env: TARGET=x86_64-apple-darwin - # Code checks - - os: linux - rust: stable + - stage: tests + name: 'Code checks' install: - rustup component add rustfmt - rustup component add clippy @@ -18,8 +17,43 @@ matrix: - cargo fmt -- --check - cargo clippy -- -D warnings -script: - - cargo build --target "$TARGET" --verbose + - stage: release + name: 'Release linux' + os: linux + env: TARGET=x86_64-unknown-linux-gnu + script: + - cargo build --target "$TARGET" --release + - mkdir -p ./dist/standup-${TRAVIS_TAG}-$TARGET + - mv ./target/$TARGET/release/standup_rs ./dist/standup-${TRAVIS_TAG}-$TARGET/ + - tar -cvzf ./dist/standup-${TRAVIS_TAG}-$TARGET.tar.gz ./dist/standup-${TRAVIS_TAG}-$TARGET/ + deploy: + provider: releases + api_key: + secure: $GITHUB_TOKEN + file: ./dist/*.tar.gz + file_glob: true + skip_cleanup: true + on: + tags: true + + - stage: release + name: 'Release macOs' + os: osx + env: TARGET=x86_64-apple-darwin + script: + - cargo build --target "$TARGET" --release + - mkdir -p ./dist/standup-${TRAVIS_TAG}-$TARGET + - mv ./target/$TARGET/release/standup_rs ./dist/standup-${TRAVIS_TAG}-$TARGET/ + - tar -cvzf ./dist/standup-${TRAVIS_TAG}-$TARGET.tar.gz ./dist/standup-${TRAVIS_TAG}-$TARGET/ + deploy: + provider: releases + api_key: + secure: $GITHUB_TOKEN + file: ./dist/*.tar.gz + file_glob: true + skip_cleanup: true + on: + tags: true cache: directories: