#!/usr/bin/env bash
# Merge the unit and integration coverage results inside a Babashka container; needs only
# Docker. Inputs and outputs travel via `docker cp` rather than a bind mount. Extra args go
# to script/coverage_report.clj. Output: target/coverage/merged.
set -euo pipefail
cd "$(dirname "$0")/.."

id=$(docker create --security-opt apparmor=unconfined -w / --entrypoint bb \
  babashka/babashka:latest script/coverage_report.clj "$@")
trap 'docker rm -f "$id" >/dev/null' EXIT

# The report reads target/coverage/*/lcov.info and, for the HTML, the sources.
tar -c script/coverage_report.clj src integration-test test target/coverage | docker cp - "$id:/"

docker start -a "$id"

rm -rf target/coverage/merged
docker cp "$id:/target/coverage/merged" target/coverage/
