set -ex main() { local target= if [ $TRAVIS_OS_NAME = linux ]; then target=x86_64-unknown-linux-musl sort=sort else target=x86_64-apple-darwin sort=gsort # for `sort --sort-version`, from brew's coreutils. fi # Builds for iOS are done on OSX, but require the specific target to be # installed. case $TARGET in aarch64-apple-ios) rustup target install aarch64-apple-ios ;; armv7-apple-ios) rustup target install armv7-apple-ios ;; armv7s-apple-ios) rustup target install armv7s-apple-ios ;; i386-apple-ios) rustup target install i386-apple-ios ;; x86_64-apple-ios) rustup target install x86_64-apple-ios ;; esac # This fetches latest stable release local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \ | 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/cross \ --tag $tag \ --target $target # For test case $TARGET in x86_64-unknown-linux-gnu|i686-unknown-linux-gnu) python3 -V tmux -V sudo apt-get install -y zsh stty cols 80 ;; x86_64-apple-darwin|i686-apple-darwin) HOMEBREW_NO_AUTO_UPDATE=1 brew install tmux HOMEBREW_NO_AUTO_UPDATE=1 brew install zsh python -V python3 -V tmux -V stty cols 80 ;; esac } main