#!/usr/bin/env sh set -eu SUITE_PATH="${1:-}" [ -n "$SUITE_PATH" ] || { echo "ERROR: suite_path argument required" >&2; exit 1; } [ -n "${GIT_PAGES_URL:-}" ] || { echo "ERROR: GIT_PAGES_URL is not set" >&2; exit 1; } [ -n "${REPORTS_PUBLISH_TOKEN:-}" ] || { echo "ERROR: REPORTS_PUBLISH_TOKEN is not set" >&2; exit 1; } [ -n "${GITHUB_REPOSITORY:-}" ] || { echo "ERROR: GITHUB_REPOSITORY is not set" >&2; exit 1; } [ -n "${GITHUB_SHA:-}" ] || { echo "ERROR: GITHUB_SHA is not set" >&2; exit 1; } [ -n "${GITHUB_REF_NAME:-}" ] || { echo "ERROR: GITHUB_REF_NAME is not set" >&2; exit 1; } OWNER="${GITHUB_REPOSITORY%%/*}" REPO="${GITHUB_REPOSITORY##*/}" SHA8=$(echo "$GITHUB_SHA" | cut -c1-8) BRANCH="${GITHUB_REF_NAME}" SUITE="${SUITE_PATH%/}" PAGES_USER="${GIT_PAGES_PUBLISH_USER:-publish}" [ -d "$SUITE" ] || { echo "ERROR: not a directory: $SUITE" >&2; exit 1; } WORK=$(mktemp -d) TAR=$(mktemp) trap 'rm -rf "$WORK" "$TAR"' EXIT # Kopioi raporttitiedostot mkdir -p "$WORK/$SUITE" cp -a "$SUITE/." "$WORK/$SUITE/" # Generoi index.html (sama logiikka kuin nykyään) cd "$WORK/$SUITE" if [ ! -f "index.html" ]; then ITEM_LIST="" ITEM_COUNT=0 for f in *; do [ -f "$f" ] || continue [ "$f" = "index.html" ] && continue ITEM_LIST="${ITEM_LIST}file:${f} " ITEM_COUNT=$((ITEM_COUNT + 1)) done for d in */; do [ -d "$d" ] || continue d="${d%/}" [ -f "$d/index.html" ] || continue ITEM_LIST="${ITEM_LIST}dir:${d} " ITEM_COUNT=$((ITEM_COUNT + 1)) done if [ "$ITEM_COUNT" -gt 1 ]; then { echo '' echo "Test report ${SHA8}" echo '' echo "

Test report ${SHA8}

' } > "index.html" fi fi # .meta tiedosto retentionia varten cat > ".meta" <&2 cat /tmp/git-pages-publish-response.txt >&2 exit 1 ;; esac echo "${PUBLISH_URL}"