Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
281ef5c
Fix some minor clippy and rustc lints
RadicalZephyr Mar 8, 2019
2f3e8cb
Add dirs crate to fix use of deprecated std::env::home_dir
RadicalZephyr Mar 8, 2019
216a6f4
Run cargo fix --edition
RadicalZephyr Mar 8, 2019
b7977e6
Update to Rust 2018 edition
RadicalZephyr Mar 8, 2019
eeef158
Run cargo fix --edition-idioms
RadicalZephyr Mar 8, 2019
78c9882
Use dirs to more portably find the config directory
RadicalZephyr Mar 8, 2019
d67511a
Bump failure from 0.1.1 to 0.1.5
dependabot-support Mar 7, 2019
e3bafc4
Add a comment to the README mentioning how to contact us
RadicalZephyr Mar 8, 2019
6f47d8e
Create and clean up test files using tempdir
RadicalZephyr Mar 8, 2019
add63e5
Remove suffix arg to all fs test set_up functions
RadicalZephyr Mar 8, 2019
18c93fa
RIP waffle.io
RadicalZephyr Mar 17, 2019
1c51133
Update all minor versions of dependencies
RadicalZephyr Dec 20, 2020
7d08560
Upgrade to latest versions of all dependencies
RadicalZephyr Dec 20, 2020
b240573
Correct my author entry
RadicalZephyr Dec 20, 2020
94a0543
Use grouped imports for each crate
RadicalZephyr Dec 21, 2020
0b970eb
Fix some clippy lints
RadicalZephyr Dec 21, 2020
e0d06ff
Replace lazy_static with once_cell Lazy
RadicalZephyr Dec 21, 2020
f732769
Replace failure with anyhow and thiserror
RadicalZephyr Dec 21, 2020
eeadc68
Replace unnecessary Error type in file operations with anyhow::Error
RadicalZephyr Dec 21, 2020
6a7f2b3
Propagate the error from trying to create a shell root folder
RadicalZephyr Dec 21, 2020
efa9e01
Bring subcommand macro directly into the main module
RadicalZephyr Dec 21, 2020
302b326
Add fn to the syntax of the subcommand defining macro
RadicalZephyr Dec 21, 2020
f955fee
Reformat test imports using single root crate style
RadicalZephyr Dec 21, 2020
651888b
Apply japaric/trust CI template
RadicalZephyr Mar 7, 2019
a5fbede
Change to the newer clippy component on stable and remove tarpaulin
RadicalZephyr Mar 8, 2019
f7ca57e
Change to downloading tarpaulin github releases
RadicalZephyr Mar 8, 2019
55190e4
Only run clippy on one target build
RadicalZephyr Mar 8, 2019
312dd6d
Don't run clippy on windows
RadicalZephyr Mar 8, 2019
75dbd86
Run tar better
RadicalZephyr Mar 8, 2019
def8dff
Add brew installed ssl for macos builds
RadicalZephyr Mar 8, 2019
cb9022a
Disable tests on linux non-x86 targets
RadicalZephyr Mar 8, 2019
168fe2d
Introduce an fs module for making symlink cross_platform for us
RadicalZephyr Mar 8, 2019
5e0f71b
Disable all the iOS and android builds
RadicalZephyr Mar 8, 2019
afbcba9
Install openssl lib on Windows with vcpkg
RadicalZephyr Mar 8, 2019
f4f4ac3
Search for curl in appveyor vcpkg
RadicalZephyr Mar 8, 2019
830e2fa
Install curl library on appveyor
RadicalZephyr Mar 8, 2019
985fbb8
Re-enable all the tests
RadicalZephyr Mar 8, 2019
3ca459b
Install libgit2 package with vcpkg
RadicalZephyr Mar 8, 2019
7403aa0
Only build most targets on the master branch
RadicalZephyr Mar 8, 2019
da64abb
Remove i686-apple-darwin target
RadicalZephyr Mar 8, 2019
90e4015
Incorporate some minor improvements from the workaround appveyor.yml
RadicalZephyr Mar 8, 2019
8c6449b
WIP: start adding workaround for mingw linking issue
RadicalZephyr Mar 8, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
163 changes: 138 additions & 25 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,159 @@
sudo: required
# Based on the "trust" template v0.1.2
# https://github.com/japaric/trust/tree/v0.1.2

dist: trusty
language: rust
rust:
- stable
- beta
- nightly
services: docker
sudo: required

env:
global:
- CRATE_NAME=hermit

matrix:
allow_failures:
- rust: nightly
# TODO These are all the build jobs. Adjust as necessary. Comment out what you
# don't need
include:
# Android
# - env: TARGET=aarch64-linux-android DISABLE_TESTS=1
# - env: TARGET=arm-linux-androideabi DISABLE_TESTS=1
# - env: TARGET=armv7-linux-androideabi DISABLE_TESTS=1
# - env: TARGET=i686-linux-android DISABLE_TESTS=1
# - env: TARGET=x86_64-linux-android DISABLE_TESTS=1

cache: cargo
# iOS
# - env: TARGET=aarch64-apple-ios DISABLE_TESTS=1
# os: osx
# - env: TARGET=armv7-apple-ios DISABLE_TESTS=1
# os: osx
# - env: TARGET=armv7s-apple-ios DISABLE_TESTS=1
# os: osx
# - env: TARGET=i386-apple-ios DISABLE_TESTS=1
# os: osx
# - env: TARGET=x86_64-apple-ios DISABLE_TESTS=1
# os: osx

# Linux
- env: TARGET=aarch64-unknown-linux-gnu
if: branch = master
- env: TARGET=arm-unknown-linux-gnueabi
if: branch = master
- env: TARGET=armv7-unknown-linux-gnueabihf
if: branch = master
- env: TARGET=i686-unknown-linux-gnu
if: branch = master
- env: TARGET=i686-unknown-linux-musl
if: branch = master
- env: TARGET=mips-unknown-linux-gnu
if: branch = master
- env: TARGET=mips64-unknown-linux-gnuabi64
if: branch = master
- env: TARGET=mips64el-unknown-linux-gnuabi64
if: branch = master
- env: TARGET=mipsel-unknown-linux-gnu
if: branch = master
- env: TARGET=powerpc-unknown-linux-gnu
if: branch = master
- env: TARGET=powerpc64-unknown-linux-gnu
if: branch = master
- env: TARGET=powerpc64le-unknown-linux-gnu
if: branch = master
- env: TARGET=s390x-unknown-linux-gnu
if: branch = master

- env: TARGET=x86_64-unknown-linux-gnu
- env: TARGET=x86_64-unknown-linux-musl

# OSX
- env: TARGET=x86_64-apple-darwin
os: osx

# *BSD
- env: TARGET=i686-unknown-freebsd DISABLE_TESTS=1
if: branch = master
- env: TARGET=x86_64-unknown-freebsd DISABLE_TESTS=1
if: branch = master
- env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
if: branch = master

# Windows
- env: TARGET=x86_64-pc-windows-gnu
if: branch = master

# Bare metal
# These targets don't support std and as such are likely not suitable for
# most crates.
# - env: TARGET=thumbv6m-none-eabi
# - env: TARGET=thumbv7em-none-eabi
# - env: TARGET=thumbv7em-none-eabihf
# - env: TARGET=thumbv7m-none-eabi

# Testing other channels
- env: TARGET=x86_64-unknown-linux-gnu
rust: beta
- env: TARGET=x86_64-apple-darwin
os: osx
rust: beta
- env: TARGET=x86_64-unknown-linux-gnu
rust: nightly
- env: TARGET=x86_64-apple-darwin
os: osx
rust: nightly

before_install:
- set -e
- rustup self update

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

before_script:
- cargo +nightly clippy --version || ( rustup install nightly && rustup component add clippy-preview --toolchain=nightly )
- cargo +nightly tarpaulin --version || RUSTFLAGS="--cfg procmacro2_semver_exempt" cargo +nightly install cargo-tarpaulin
- curl -o /tmp/urchin https://raw.githubusercontent.com/tlevine/urchin/v0.0.6/urchin && chmod +x /tmp/urchin
- git fetch --unshallow
- git config remote.$(git remote | head -n1).fetch "+refs/heads/*:refs/remotes/$(git remote | head -n1)/*"
- git fetch $(git remote | head -n1) master
- git checkout master
- git checkout -
script:
- cargo +nightly clippy
- ./runtests.sh
- bash ci/script.sh

after_script: set +e

before_deploy:
- sh ci/before_deploy.sh

after_success: |
if [[ "$TRAVIS_RUST_VERSION" == stable ]]; then
rustup install nightly
cargo +nightly tarpaulin --ciserver travis-ci --coveralls $TRAVIS_JOB_ID
fi

deploy:
api_key:
secure: "Sz3ZolD+gLnRA/MGIW7C1jnKWbdVuaGqxNWNVS9mlLdZAydnrl+gBBMLhc2I20Kl44fEpOXVfC0HlmGN7M2sYeI7Q7jufuQSQzNFbgeb4VXoFvGNvO+dz1XyoUFi/CXFGS4kcafbA7CjFtLXEgdd0Z9rQP/dLB3y6gZZXBMAXy8="
file_glob: true
file: $CRATE_NAME-$TRAVIS_TAG-$TARGET.*
on:
condition: $TRAVIS_RUST_VERSION = stable
tags: true
provider: releases
skip_cleanup: true

addons:
apt:
sources:
- kalakris-cmake
homebrew:
packages:
- cmake
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- libssl-dev
- openssl@1.1

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
slack:
on_success: always
on_failure: always
Expand Down
Loading