#!/usr/bin/env bash

set -euo pipefail

ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly ROOT
readonly IMAGE="hugo-chiri-lar-01"
readonly RESULTS="${ROOT}/results"

cd "${ROOT}"

docker build --tag "${IMAGE}" .
if [[ "${RESULTS}" != "${ROOT}/results" ]]; then
  echo "refusing to clear an unexpected results directory" >&2
  exit 65
fi
rm -rf "${RESULTS}"
mkdir -p "${RESULTS}/environment"
docker run --rm \
  --volume "${ROOT}/results:/experiment/results" \
  "${IMAGE}"

docker run --rm \
  --volume "${ROOT}/results:/experiment/results" \
  "${IMAGE}" sh -lc \
  'composer audit --locked --no-interaction > results/environment/composer-audit.txt 2>&1'

docker run --rm \
  --volume "${ROOT}/results:/experiment/results" \
  "${IMAGE}" node source-evidence.mjs

docker run --rm \
  --volume "${ROOT}/results:/experiment/results" \
  "${IMAGE}" sh -lc 'node source-manifest.mjs && node verify-results.mjs'
