73 lines
2.7 KiB
YAML
73 lines
2.7 KiB
YAML
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 $TRAVIS_TAG" || true
|
|
- test "$TRAVIS_BRANCH" = master && test -n "$TRAVIS_TAG" && TAGS="$TAGS stable" || true
|
|
|
|
script:
|
|
- mkdir deploy
|
|
# Windows .exe
|
|
- docker pull koalaman/winghc
|
|
- docker run --user="$UID" --rm -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 || true
|
|
# Linux static executable
|
|
- docker pull koalaman/scbuilder
|
|
- docker run --user="$UID" --rm -v "$PWD:/mnt" koalaman/scbuilder
|
|
- for tag in $TAGS; do cp "shellcheck" "deploy/shellcheck-$tag.linux"; done
|
|
- ./shellcheck --version
|
|
- rm -rf dist || true
|
|
# Linux Docker image
|
|
- name="$DOCKER_BASE"
|
|
- DOCKER_BUILDS="$DOCKER_BUILDS $name"
|
|
- docker build -t "$name:current" .
|
|
- docker run "$name:current" --version
|
|
# Linux Alpine based Docker image
|
|
- name="$DOCKER_BASE-alpine"
|
|
- DOCKER_BUILDS="$DOCKER_BUILDS $name"
|
|
- sed -e 's/^FROM .*/FROM alpine:latest/' -e '/WORKDIR/d' -e '/ENTRYPOINT/d' Dockerfile > Dockerfile.alpine
|
|
- docker build -f Dockerfile.alpine -t "$name:current" .
|
|
- docker run "$name:current" sh -c 'shellcheck --version'
|
|
# 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
|