diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-08-06 20:26:41 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-09-25 21:10:56 -0400 |
commit | dd6640316865d84075b00013b8b97076705e5c44 (patch) | |
tree | 3c6f3c2eeebc3a2103f28f42a915eebaf6128913 /.gitlab/common.sh | |
parent | 5b72718953c289b6827e877e14d9f0f3f5c64267 (diff) | |
download | haskell-dd6640316865d84075b00013b8b97076705e5c44.tar.gz |
ci.sh: Factor out common utilities
Diffstat (limited to '.gitlab/common.sh')
-rw-r--r-- | .gitlab/common.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/.gitlab/common.sh b/.gitlab/common.sh new file mode 100644 index 0000000000..befb1493eb --- /dev/null +++ b/.gitlab/common.sh @@ -0,0 +1,50 @@ +# Common bash utilities +# ---------------------- + +# Colors +BLACK="0;30" +GRAY="1;30" +RED="0;31" +LT_RED="1;31" +BROWN="0;33" +LT_BROWN="1;33" +GREEN="0;32" +LT_GREEN="1;32" +BLUE="0;34" +LT_BLUE="1;34" +PURPLE="0;35" +LT_PURPLE="1;35" +CYAN="0;36" +LT_CYAN="1;36" +WHITE="1;37" +LT_GRAY="0;37" + +# GitLab Pipelines log section delimiters +# https://gitlab.com/gitlab-org/gitlab-foss/issues/14664 +start_section() { + name="$1" + echo -e "section_start:$(date +%s):$name\015\033[0K" +} + +end_section() { + name="$1" + echo -e "section_end:$(date +%s):$name\015\033[0K" +} + +echo_color() { + local color="$1" + local msg="$2" + echo -e "\033[${color}m${msg}\033[0m" +} + +error() { echo_color "${RED}" "$1"; } +warn() { echo_color "${LT_BROWN}" "$1"; } +info() { echo_color "${LT_BLUE}" "$1"; } + +fail() { error "error: $1"; exit 1; } + +function run() { + info "Running $*..." + "$@" || ( error "$* failed"; return 1; ) +} + |