48 lines
1.3 KiB
Bash
Executable File
48 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
output_fold() {
|
|
# Exit early if no label provided
|
|
if [ -z "$1" ]; then
|
|
echo "output_fold(): requires a label argument."
|
|
return
|
|
fi
|
|
|
|
exit_value=0 # exit_value is used to record exit status of the given command
|
|
label=$1 # human-readable label describing what's being folded up
|
|
shift 1 # having retrieved the output_fold()-specific arguments, strip them off $@
|
|
|
|
# Only echo the tags when in CI_MODE
|
|
if [ "$CI_MODE" ]; then
|
|
echo "%%%FOLD {$label}%%%"
|
|
fi
|
|
|
|
# run the remaining arguments. If the command exits non-0, the `||` will
|
|
# prevent the `-e` flag from seeing the failure exit code, and we'll see
|
|
# the second echo execute
|
|
"$@" || exit_value=$?
|
|
|
|
# Only echo the tags when in CI_MODE
|
|
if [ "$CI_MODE" ]; then
|
|
echo "%%%END FOLD%%%"
|
|
fi
|
|
|
|
# preserve the exit code from the subcommand.
|
|
return $exit_value
|
|
}
|
|
|
|
function cleanup() {
|
|
echo
|
|
echo "%%%FOLD {Shutting down services...}%%%"
|
|
docker-compose down
|
|
echo "%%%END FOLD%%%"
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
export CI_MODE=true
|
|
|
|
output_fold "Bootstrapping container..." docker-compose build
|
|
output_fold "Running tests..." docker-compose run --rm app
|
|
|
|
docker-compose run -e BUILD_ARTIFACT_DIR=$BUILD_ARTIFACT_DIR -v $BUILD_ARTIFACT_DIR:$BUILD_ARTIFACT_DIR app script/build-deploy-tarball
|