sudo: required language: sh services: - docker before_install: - DOCKER_BASE="$DOCKER_USERNAME/shellcheck" - DOCKER_BUILDS="" - TAGS="" - test "$TRAVIS_BRANCH" = master && TAGS="$TAGS latest" || true - test -n "$TRAVIS_TAG" && TAGS="$TAGS stable $TRAVIS_TAG" || true - echo "Tags are $TAGS" script: - mkdir deploy # Remove all tests to reduce binary size - ./striptests # Linux Docker image - name="$DOCKER_BASE" - DOCKER_BUILDS="$DOCKER_BUILDS $name" - docker build -t "$name:current" . - docker run "$name:current" --version - printf '%s\n' "#!/bin/sh" "echo 'hello world'" > myscript - docker run -v "$PWD:/mnt" "$name:current" myscript # Copy static executable from docker image - id=$(docker create "$name:current") - docker cp "$id:/bin/shellcheck" "shellcheck" - docker rm "$id" - ls -l shellcheck - ./shellcheck myscript - for tag in $TAGS; do cp "shellcheck" "deploy/shellcheck-$tag.linux-x86_64"; done # Linux Alpine based Docker image - name="$DOCKER_BASE-alpine" - DOCKER_BUILDS="$DOCKER_BUILDS $name" - sed -e '/DELETE-MARKER/,$d' Dockerfile > Dockerfile.alpine - docker build -f Dockerfile.alpine -t "$name:current" . - docker run "$name:current" sh -c 'shellcheck --version' # Linux armv6hf static executable - docker run -v "$PWD:/mnt" koalaman/armv6hf-builder -c 'compile-shellcheck' - for tag in $TAGS; do cp "shellcheck" "deploy/shellcheck-$tag.linux-armv6hf"; done - rm -f shellcheck || true # Windows .exe - docker run --user="$UID" -v "$PWD:/appdata" koalaman/winghc cuib - for tag in $TAGS; do cp "dist/build/ShellCheck/shellcheck.exe" "deploy/shellcheck-$tag.exe"; done - rm -rf dist shellcheck || true # Misc packaging - ./.prepare_deploy after_success: - docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD" - for repo in $DOCKER_BUILDS; do for tag in $TAGS; do echo "Deploying $repo:current as $repo:$tag..."; docker tag "$repo:current" "$repo:$tag" || exit 1; docker push "$repo:$tag" || exit 1; done; done; after_failure: - id - pwd - df -h - find . -name '*.log' -type f -exec grep "" /dev/null {} + - find . -ls deploy: provider: gcs skip_cleanup: true access_key_id: GOOG7MDN7WEH6IIGBDCA secret_access_key: secure: Bcx2cT0/E2ikj7sdamVq52xlLZF9dz9ojGPtoKfPyQhkkZa+McVI4xgUSuyyoSxyKj77sofx2y8m6PJYYumT4g5hREV1tfeUkl0J2DQFMbGDYEt7kxVkXCxojNvhHwTzLFv0ezstrxWWxQm81BfQQ4U9lggRXtndAP4czZnOeHPINPSiue1QNwRAEw05r5UoIUJXy/5xyUrjIxn381pAs+gJqP2COeN9kTKYH53nS/AAws29RprfZFnPlo7xxWmcjRcdS5KPdGXI/c6tQp5zl2iTh510VC1PN2w1Wvnn/oNWhiNdqPyVDsojIX5+sS3nejzJA+KFMxXSBlyXIY3wPpS/MdscU79X6Q5f9ivsFfsm7gNBmxHUPNn0HAvU4ROT/CCE9j6jSbs5PC7QBo3CK4++jxAwE/pd9HUc2rs3k0ofx3rgveJ7txpy5yPKfwIIBi98kVKlC4w7dLvNTOfjW1Imt2yH87XTfsE0UIG9st1WII6s4l/WgBx2GuwKdt6+3QUYiAlCFckkxWi+fAvpHZUEL43Qxub5fN+ZV7Zib1n7opchH4QKGBb6/y0WaDCmtCfu0lppoe/TH6saOTjDFj67NJSElK6ZDxGZ3uw4R+ret2gm6WRKT2Oeub8J33VzSa7VkmFpMPrAAfPa9N1Z4ewBLoTmvxSg2A0dDrCdJio= bucket: shellcheck local-dir: deploy on: repo: koalaman/shellcheck all_branches: true