#!/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/