diff --git a/scripts/publish-ci-report.sh b/scripts/publish-ci-report.sh index 4039213..c39b4c6 100644 --- a/scripts/publish-ci-report.sh +++ b/scripts/publish-ci-report.sh @@ -51,6 +51,23 @@ if [[ ! -d "${SRC}" ]]; then exit 1 fi +# act runner: workflow may create REPORTS_DIR via sudo (root-owned); ensure CI user can write. +ensure_ci_reports_dir() { + if [[ -d "${REPORTS_DIR}" ]] && [[ -w "${REPORTS_DIR}" ]]; then + return 0 + fi + if mkdir -p "${REPORTS_DIR}" 2>/dev/null && [[ -w "${REPORTS_DIR}" ]]; then + return 0 + fi + if command -v sudo >/dev/null 2>&1; then + sudo mkdir -p "${REPORTS_DIR}" + sudo chown -R "$(id -u):$(id -g)" "${REPORTS_DIR}" + return 0 + fi + mkdir -p "${REPORTS_DIR}" +} +ensure_ci_reports_dir + DEST="${REPORTS_DIR}/${REPO}/${RUN_ID}/${KIND}" mkdir -p "${REPORTS_DIR}/${REPO}/${RUN_ID}" rm -rf "${DEST}"