#!/bin/sh
ARGS="$@"

set -o pipefail
MC_CONFIG_DIR="/root/.mc"
mkdir -p "$MC_CONFIG_DIR"

mc --config-dir "$MC_CONFIG_DIR" alias set "$S3_ALIAS" "$S3_URL" "$S3_ACCESS_KEY_ID" "$S3_SECRET_ACCESS_KEY"

exec 5>&1
OUTPUT=$(bash -c "mc --config-dir \"$MC_CONFIG_DIR\" $ARGS" | tee /dev/fd/5)
RESULT=$?

#Output multiline strings.
#https://trstringer.com/github-actions-multiline-strings/
if [[ -n "$OUTPUT" ]]; then
    echo "console<<EOF" >> "$GITHUB_OUTPUT"
    echo "$OUTPUT" >> "$GITHUB_OUTPUT"
    echo "EOF" >> "$GITHUB_OUTPUT"
fi

echo "exitCode=$RESULT" >> "$GITHUB_OUTPUT"

if [[ "$CATCH_ERRORS" != "true" ]]; then
    exit $RESULT
fi
