Set up ci

This commit is contained in:
Ilya Epifanov 2018-03-02 01:29:43 +01:00
parent 9d1538e4aa
commit b371feac05
3 changed files with 90 additions and 0 deletions

53
.travis.yml Normal file
View File

@ -0,0 +1,53 @@
# Based on the "trust" template v0.1.2
# https://github.com/japaric/trust/tree/v0.1.2
language: rust
services: docker
matrix:
include:
# Linux
- env: TARGET=x86_64-unknown-linux-gnu
rust: nightly
# Bare metal
- env: TARGET=thumbv6m-none-eabi
rust: nightly
- env: TARGET=thumbv7m-none-eabi
rust: nightly
- env: TARGET=thumbv7em-none-eabi
rust: nightly
- env: TARGET=thumbv7em-none-eabihf
rust: nightly
before_install:
- set -e
- rustup self update
install:
- sh ci/install.sh
- source ~/.cargo/env || true
script:
- bash ci/script.sh
after_script: set +e
cache:
cargo: true
directories:
- $HOME/.xargo
before_cache:
# Travis can't cache files that are not readable by "others"
- chmod -R a+r $HOME/.cargo
branches:
only:
- auto
- master
- try
notifications:
email:
on_success: never

21
ci/install.sh Normal file
View File

@ -0,0 +1,21 @@
set -ex
main() {
# This fetches latest stable release of Xargo
local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/xargo \
| cut -d/ -f3 \
| grep -E '^v[0.1.0-9.]+$' \
| sort --version-sort \
| tail -n1)
curl -LSfs https://japaric.github.io/trust/install.sh | \
sh -s -- \
--force \
--git japaric/xargo \
--tag $tag \
--target x86_64-unknown-linux-musl
rustup component add rust-src
}
main

16
ci/script.sh Normal file
View File

@ -0,0 +1,16 @@
# This script takes care of testing your crate
set -euxo pipefail
main() {
case $TARGET in
x86_64-unknown-linux-gnu)
cargo check --target $TARGET
;;
*)
xargo check --target $TARGET
;;
esac
}
main