summaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2018-03-03 20:29:23 -0330
committerTim Oram <dev@mitmaro.ca>2018-03-03 20:52:26 -0330
commit294093981e472d1677e4b39b03368f70bd634efb (patch)
tree96d86c5251cca0d7be013d13cf037d3e420b7e5d /.travis.yml
parent39c82b56529fb865b34dec28d8cafd224ea60014 (diff)
Added deployment to GitHub in CI
The project will now build binaries for MacOS, Debian and Windows automatically and deploy them to GitHub.
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml58
1 files changed, 57 insertions, 1 deletions
diff --git a/.travis.yml b/.travis.yml
index 0c01017..05d5810 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,14 +1,70 @@
language: rust
+
+os:
+ - linux
+ - osx
+
+cache: cargo
+
+branches:
+ only:
+ - "master"
+ - "/^\\d+\\.\\d+\\.\\d+$/"
+
rust:
- stable
- beta
- nightly
+
matrix:
allow_failures:
- rust: nightly
+before_script:
+ - export PATH=$HOME/.cargo/bin:$PATH
+
+script:
+ - cargo test
+ - cargo test --release
+
jobs:
include:
- stage: lint
- script: cargo test --features "clippy"
rust: nightly
+ os: linux
+ script: cargo test --features "clippy"
+ - stage: build-deb
+ rust: stable
+ os: linux
+ if: tag IS present
+ before_script: cargo install --force cargo-deb
+ script: cargo build --release && cargo deb
+ deploy:
+ api_key:
+ secure: "Kw8h+UisU2k1VBFLc3MqeQMy1Rp0icIEgzSW/BuYYY+xg7p0vQiip2btD6pV5zzVAcL6BrnHiEIksY1M5lc/pKyoy4uYyPFHE6Mfwofcf/3MUpqTzBygd95saiCehQW0RBWzgoYtDbLgyUohywFVxLrckHVLXspwG+8CAvEL5YQNlBAkMQB0I+9j+8/WCSxAKA9hRqvdBRxzn9Fu9goxlYrSnSbQmkeCc3xTnK8o3xXuVwRkvsyKnlQHTQ8nTmbJe3K5FR02UFSDBMe8EYrXntszF3ZQibxrJHT6xutw1ZfIOPJCNOotMhLBnXEXEhPvbfBH3ejUM24VbHB8wmGl+OFQGqHLhr7nSyHK5ObbtSrsa9NHJQGIXPi5lIq3o0+Nq8ZzRc1GbFEi+9Uw0YsRjgL35ASdAOhdplNpOhYPK+MPqPoInbCs9NLPLkcfR7OQefk4WLUrAAVMro6Q6dewBN6u+8ebOuz7OHYgAHoP+Cm3z8SNafqRbwT+jeeYLPkR3T6TmriL4Og3tqnMBGULCwj0Ui/NqmKXU9UDkY8LTKDRoGk05sHxSRzfjchUfmwgn3xcSZAWGf2grskB2WLKRcvTeG+j4GUIoVVyDmF2qZ25wh/vBAwX1k4Y6wlvXdqcL3A94Vy4SXF9vY0y+NH5Nsfd3m0PksYRG4wc1bVKqQ8="
+ file_glob: true
+ file: target/debian/git-interactive-rebase-tool*.deb
+ on:
+ condition: $TRAVIS_RUST_VERSION = stable
+ tags: true
+ provider: releases
+ skip_cleanup: true
+ - stage: build-macos
+ rust: stable
+ os: linux
+ if: tag IS present
+ script: cargo build --release
+ before_deploy: "cp target/release/git-interactive-rebase-tool target/release/macos-git-interactive-rebase-tool"
+ deploy:
+ api_key:
+ secure: "Kw8h+UisU2k1VBFLc3MqeQMy1Rp0icIEgzSW/BuYYY+xg7p0vQiip2btD6pV5zzVAcL6BrnHiEIksY1M5lc/pKyoy4uYyPFHE6Mfwofcf/3MUpqTzBygd95saiCehQW0RBWzgoYtDbLgyUohywFVxLrckHVLXspwG+8CAvEL5YQNlBAkMQB0I+9j+8/WCSxAKA9hRqvdBRxzn9Fu9goxlYrSnSbQmkeCc3xTnK8o3xXuVwRkvsyKnlQHTQ8nTmbJe3K5FR02UFSDBMe8EYrXntszF3ZQibxrJHT6xutw1ZfIOPJCNOotMhLBnXEXEhPvbfBH3ejUM24VbHB8wmGl+OFQGqHLhr7nSyHK5ObbtSrsa9NHJQGIXPi5lIq3o0+Nq8ZzRc1GbFEi+9Uw0YsRjgL35ASdAOhdplNpOhYPK+MPqPoInbCs9NLPLkcfR7OQefk4WLUrAAVMro6Q6dewBN6u+8ebOuz7OHYgAHoP+Cm3z8SNafqRbwT+jeeYLPkR3T6TmriL4Og3tqnMBGULCwj0Ui/NqmKXU9UDkY8LTKDRoGk05sHxSRzfjchUfmwgn3xcSZAWGf2grskB2WLKRcvTeG+j4GUIoVVyDmF2qZ25wh/vBAwX1k4Y6wlvXdqcL3A94Vy4SXF9vY0y+NH5Nsfd3m0PksYRG4wc1bVKqQ8="
+ file: target/release/macos-git-interactive-rebase-tool
+ on:
+ condition: $TRAVIS_RUST_VERSION = stable
+ tags: true
+ provider: releases
+ skip_cleanup: true
+
+notifications:
+ email:
+ on_success: never