#!/bin/bash # This script builds ShellCheck through `stack` using # various resolvers. It's run via distrotest. resolvers=( nightly-"$(date -d "3 days ago" +"%Y-%m-%d")" ) die() { echo "$*" >&2; exit 1; } [ -e "ShellCheck.cabal" ] || die "ShellCheck.cabal not in current dir" [ -e "stack.yaml" ] || die "stack.yaml not in current dir" command -v stack || die "stack is missing" stack setup || die "Failed to setup with default resolver" stack build --test || die "Failed to build/test with default resolver" for resolver in "${resolvers[@]}" do stack --resolver="$resolver" setup || die "Failed to setup $resolver" stack --resolver="$resolver" build --test || die "Failed build/test with $resolver!" done echo "Success"