diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..73225bf9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,3 @@ +[ci/*.sh] +indent_style = space +indent_size = 4 diff --git a/ci/before_deploy.sh b/ci/before_deploy.sh index 099344a5..3ec233aa 100644 --- a/ci/before_deploy.sh +++ b/ci/before_deploy.sh @@ -3,10 +3,9 @@ set -ex main() { - local src=$(pwd) \ - stage= + src=$(pwd) - case $TRAVIS_OS_NAME in + case "$TRAVIS_OS_NAME" in linux) stage=$(mktemp -d) ;; @@ -18,16 +17,16 @@ main() { test -f Cargo.lock || cargo generate-lockfile # TODO Update this to build the artifacts that matter to you - cross rustc --bin topgrade --target $TARGET --release --all-features -- -C lto + cross rustc --bin topgrade --target "$TARGET" --release --all-features -- -C lto # TODO Update this to package the right artifacts - cp target/$TARGET/release/topgrade $stage/ + cp target/"$TARGET"/release/topgrade "$stage"/ - cd $stage - tar czf $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.tar.gz * - cd $src + cd "$stage" + tar czf "$src"/"$CRATE_NAME"-"$TRAVIS_TAG"-"$TARGET".tar.gz ./* + cd "$src" - rm -rf $stage + rm -rf "$stage" } main diff --git a/ci/install.sh b/ci/install.sh index 80e18e47..e923a6f2 100644 --- a/ci/install.sh +++ b/ci/install.sh @@ -1,47 +1,39 @@ set -ex main() { - local target= - if [ $TRAVIS_OS_NAME = linux ]; then + if [ "$TRAVIS_OS_NAME" = linux ]; then target=x86_64-unknown-linux-musl - sort=sort + sort="sort" else target=x86_64-apple-darwin - sort=gsort # for `sort --sort-version`, from brew's coreutils. + 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 + # shellcheck disable=SC2153 + case "$TARGET" in + aarch64-apple-ios | \ + armv7-apple-ios | \ + armv7s-apple-ios | \ + i386-apple-ios | \ + x86_64-apple-ios) + rustup target install "$TARGET" ;; 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 | \ + 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 + --force \ + --git japaric/cross \ + --tag "$tag" \ + --target $target } main diff --git a/ci/script.sh b/ci/script.sh index 4bdfe0f7..d7830112 100644 --- a/ci/script.sh +++ b/ci/script.sh @@ -7,9 +7,9 @@ main() { cargo fmt --all -- --check cross clippy --all-targets -- -D warnings cross clippy --all-targets --all-features -- -D warnings - cross check --target $TARGET --release --all-features + cross check --target "$TARGET" --release --all-features - if [ ! -z $DISABLE_TESTS ]; then + if [ -n "$DISABLE_TESTS" ]; then return fi @@ -17,6 +17,6 @@ main() { } # we don't run the "test phase" when doing deploys -if [ -z $TRAVIS_TAG ]; then +if [ -z "$TRAVIS_TAG" ]; then main fi