Crates.io | travis-after-all |
lib.rs | travis-after-all |
version | 2.0.0 |
source | src |
created_at | 2016-02-02 00:04:51.943328 |
updated_at | 2017-02-05 21:38:43.67168 |
description | The missing `after_all_success` hook for Travis |
homepage | https://github.com/badboy/travis-after-all-rs |
repository | https://github.com/badboy/travis-after-all-rs |
max_upload_size | |
id | 4052 |
size | 15,976 |
Check that all jobs in a build matrix run and succeeded and launch a single task afterwards.
Travis offers no way to launch a single task when all jobs in a build finish. Relevant issue: https://github.com/travis-ci/travis-ci/issues/929
Sometimes such a hook is necessary, for example to publish a new version of your project only once and only if all jobs succeed.
travis-after-all is a workaround for this and allows to wait for all jobs and then run a command afterwards. This is a port of the original Python script: https://github.com/dmakhno/travis_after_all
Documentation is available online.
You need to add the following lines to your .travis.yml
.
This installs the tool and executes as an after_success
hook:
(It will only work for Rust projects as it depends on Cargo, the Rust package manager)
before_script:
- |
export PATH=$HOME/.cargo/bin:$PATH:$PATH &&
cargo install --force travis-after-all
after_success:
- travis-after-all && echo "All fine, let's publish"
You can use it as a library as well to build your own hooks:
use travis_after_all::Build;
let build_run = Build::from_env().unwrap();
if build_run.is_leader() {
let _ = build_run.wait_for_others().unwrap();
println!("Everything done. We can work here now.");
}
This project is licensed under the MIT license. See LICENSE.