open-nomad/e2e/ui/run.sh
Tim Gross cc4a1f2ec4
e2e: upgrade playwright package and container image (#13080)
The nightly playwright tests are currently failing because of a
mismatch between the expected version of Chromium and what's in the
container image. Unfortunately the previous specific tag we were using
for the container image is no longer tagged on the registry. With some
testing, I was able to find an image tag that results in a good run.
2022-05-20 08:41:07 -04:00

74 lines
1.8 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
help() {
cat <<EOF
Usage: run.sh [subcommand] [options] [--help]
Runs playwright tests in a Docker container against your shell's configured
Nomad target.
Subcommands:
test Run the tests (default behavior if no subcommand is provided). Options:
--no-install Don't run npm install because you've already done so.
shell Run a bash shell with the environment already set up. Maybe useful
for debugging.
proxy Deploy a reverse proxy. When the cluster is using mTLS, you will need
this so that we don't need to load a CA certificate into the browser.
This reverse proxy uses a self-signed cert. Will print a new NOMAD_ADDR
address for you to use for test runs.
Environment Variables:
NOMAD_ADDR Address of Nomad cluster or reverse proxy.
NOMAD_TOKEN Authentication token.
EOF
}
IMAGE="mcr.microsoft.com/playwright:focal"
pushd $(dirname "${BASH_SOURCE[0]}") > /dev/null
run_tests() {
run bash script.sh $@
}
run_shell() {
run bash $@
}
run() {
exec docker run -it --rm \
-v $(pwd):/src \
-w /src \
-e NOMAD_ADDR=$NOMAD_ADDR \
-e NOMAD_TOKEN=$NOMAD_TOKEN \
--ipc=host \
--net=host \
"$IMAGE" \
$@
}
run_proxy() {
nomad namespace apply proxy
nomad job run "./input/proxy.nomad"
IP=$(nomad node status -json -verbose \
$(nomad operator api '/v1/allocations?namespace=proxy' | jq -r '.[] | select(.JobID == "nomad-proxy") | .NodeID') \
| jq -r '.Attributes."unique.platform.aws.public-ipv4"')
echo "NOMAD_ADDR=https://$IP:6464"
exit 0
}
opt="$1"
case $opt in
help|--help|-h) help ;;
proxy|--proxy) run_proxy ;;
test|--test) shift ; run_tests "$@" ;;
shell) shift ; run_shell ;;
*) run_tests "$@" ;;
esac
run_tests