diff --git a/.travis.yml b/.travis.yml index 01a364e..5f9aac5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,9 +18,7 @@ matrix: before_script: - rustup component add rustfmt - - (test -x $HOME/.cargo/bin/cargo-install-update || ./ci/install-cargo-update.sh) - (test -x $HOME/.cargo/bin/mdbook || ./ci/install-mdbook.sh) - - cargo install-update -a script: - if ![[ -n "$BUILD_BOOK" ]]; then cargo check --all --benches --bins --examples --tests && cargo test --all; fi diff --git a/ci/install-cargo-update.sh b/ci/install-cargo-update.sh deleted file mode 100755 index 12382e6..0000000 --- a/ci/install-cargo-update.sh +++ /dev/null @@ -1,18 +0,0 @@ -set -euxo pipefail - -# Based on the Rust-Embedded WG's book CI -# https://github.com/rust-embedded/book/blob/master/ci/install.sh - -main() { - # Note - this will accept any tagged release - local tag=$(git ls-remote --tags --refs --exit-code \ - https://github.com/nabijaczleweli/cargo-update \ - | cut -d/ -f3 \ - | grep -E '^v[0-9\.]+$' \ - | sort --version-sort \ - | tail -n1) - - $(dirname $(realpath $0))/install-tbz2.sh --git nabijaczleweli/cargo-update --tag $tag --crate cargo-install-update -} - -main diff --git a/ci/install-tbz2.sh b/ci/install-tbz2.sh deleted file mode 100755 index 94a6529..0000000 --- a/ci/install-tbz2.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/sh - -# NOTE: This is based on https://japaric.github.io/trust/install.sh, -# but has been modified to not expect a target tag, and to instead -# expect bzip2 tar files (.tbz2) instead of gzip tar files (.tar.gz) - -set -e - -help() { - cat <<'EOF' -Install a binary release of a Rust crate hosted on GitHub - -Usage: - install.sh [options] - -Options: - -h, --help Display this message - --git SLUG Get the crate from "https://github/$SLUG" - -f, --force Force overwriting an existing binary - --crate NAME Name of the crate to install (default ) - --tag TAG Tag (version) of the crate to install (default ) - --target TARGET Install the release compiled for $TARGET (default <`rustc` host>) - --to LOCATION Where to install the binary (default ~/.cargo/bin) -EOF -} - -say() { - echo "install.sh: $1" -} - -say_err() { - say "$1" >&2 -} - -err() { - if [ ! -z $td ]; then - rm -rf $td - fi - - say_err "ERROR $1" - exit 1 -} - -need() { - if ! command -v $1 > /dev/null 2>&1; then - err "need $1 (command not found)" - fi -} - -force=false -while test $# -gt 0; do - case $1 in - --crate) - crate=$2 - shift - ;; - --force | -f) - force=true - ;; - --git) - git=$2 - shift - ;; - --help | -h) - help - exit 0 - ;; - --tag) - tag=$2 - shift - ;; - --target) - target=$2 - shift - ;; - --to) - dest=$2 - shift - ;; - *) - ;; - esac - shift -done - -# Dependencies -need basename -need curl -need install -need mkdir -need mktemp -need tar - -# Optional dependencies -if [ -z $crate ] || [ -z $tag ] || [ -z $target ]; then - need cut -fi - -if [ -z $tag ]; then - need rev -fi - -if [ -z $target ]; then - need grep - need rustc -fi - -if [ -z $git ]; then - err 'must specify a git repository using `--git`. Example: `install.sh --git japaric/cross`' -fi - -url="https://github.com/$git" -say_err "GitHub repository: $url" - -if [ -z $crate ]; then - crate=$(echo $git | cut -d'/' -f2) -fi - -say_err "Crate: $crate" - -url="$url/releases" - -if [ -z $tag ]; then - tag=$(curl -s "$url/latest" | cut -d'"' -f2 | rev | cut -d'/' -f1 | rev) - say_err "Tag: latest ($tag)" -else - say_err "Tag: $tag" -fi - -if [ -z $target ]; then - target=$(rustc -Vv | grep host | cut -d' ' -f2) -fi - -say_err "Target: $target" - -if [ -z $dest ]; then - dest="$HOME/.cargo/bin" -fi - -say_err "Installing to: $dest" - -url="$url/download/$tag/$crate-$tag.tbz2" - -td=$(mktemp -d || mktemp -d -t tmp) -curl -sL $url | tar -C $td -xj - -for f in $(ls $td); do - test -x $td/$f || continue - - if [ -e "$dest/$f" ] && [ $force = false ]; then - err "$f already exists in $dest" - else - mkdir -p $dest - install -m 755 $td/$f $dest - fi -done - -rm -rf $td