#!/usr/bin/env bash
set -Eeuo pipefail

if [[ $# -ne 1 || ! -r $1 ]]; then
  echo "Usage: $0 <env-file>" >&2
  exit 2
fi

config_file=$(cd -- "$(dirname -- "$1")" && pwd)/$(basename -- "$1")
kit_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." && pwd)
set -a
# shellcheck source=/dev/null
source "$config_file"
set +a

: "${GERRIT_WEB_URL:?set GERRIT_WEB_URL in the env file}"
: "${JENKINS_URL:?set JENKINS_URL in the env file}"

docker compose --env-file "$config_file" -f "$kit_dir/gerrit/compose.yaml" config --quiet
docker compose --env-file "$config_file" -f "$kit_dir/jenkins/compose.yaml" config --quiet

printf 'Gerrit version: '
curl --fail --silent --show-error "${GERRIT_WEB_URL%/}/config/server/version"
printf '\nJenkins login: '
curl --fail --silent --show-error --output /dev/null --write-out '%{http_code}\n' "${JENKINS_URL%/}/login"
