#!/usr/bin/env bash

set -euo pipefail

stage_dir="${RUNNER_TEMP}/coverage-report"
report_dir="${stage_dir}/report"
branch_name="${GITHUB_REF_NAME:-detached-head}"
branch_slug="$(printf '%s' "${branch_name}" | tr '/:@ ' '----' | tr -cs 'A-Za-z0-9._-' '-')"
run_date="$(date -u +%F)"
run_timestamp="$(date -u +%Y%m%dT%H%M%SZ)"
short_sha="${GITHUB_SHA::12}"
archive_name="${short_sha}.tar.gz"
manifest_name="${short_sha}.manifest.json"
object_prefix="${COVERAGE_OBJECT_PREFIX%/}"
archive_key="${object_prefix}/${archive_name}"
manifest_key="${object_prefix}/${manifest_name}"

rm -rf -- "${stage_dir}"
mkdir -p "${report_dir}"

{
    echo "COVERAGE_STAGE_DIR=${stage_dir}"
    echo "COVERAGE_OUTPUT_DIR=${report_dir}"
    echo "COVERAGE_BRANCH_NAME=${branch_name}"
    echo "COVERAGE_BRANCH_SLUG=${branch_slug}"
    echo "COVERAGE_RUN_DATE=${run_date}"
    echo "COVERAGE_RUN_TIMESTAMP=${run_timestamp}"
    echo "COVERAGE_SHORT_SHA=${short_sha}"
    echo "COVERAGE_ARCHIVE_NAME=${archive_name}"
    echo "COVERAGE_MANIFEST_NAME=${manifest_name}"
    echo "COVERAGE_ARCHIVE_KEY=${archive_key}"
    echo "COVERAGE_MANIFEST_KEY=${manifest_key}"
} >> "$GITHUB_ENV"
