| | #!/usr/bin/env bash |
| | set -euo pipefail |
| |
|
| | ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" |
| | cd "$ROOT" |
| |
|
| | SPACE_REPO="${SPACE_REPO:-evalstate/hf-papers}" |
| | COMMIT_MSG="${COMMIT_MSG:-sync: update community prompt v3 + eval harness}" |
| | DRY_RUN="${DRY_RUN:-0}" |
| |
|
| | hf auth whoami >/dev/null |
| |
|
| | mapfile -t MODIFIED < <(git diff --name-only) |
| | mapfile -t UNTRACKED < <(git ls-files --others --exclude-standard) |
| | mapfile -t DELETED < <(git diff --name-only --diff-filter=D) |
| |
|
| | |
| | ALL=() |
| | for f in "${MODIFIED[@]}" "${UNTRACKED[@]}"; do |
| | [[ -z "$f" ]] && continue |
| | |
| | if [[ "$f" == *"/__pycache__/"* ]]; then |
| | continue |
| | fi |
| | if [[ "$f" == docs/hf_hub_prompt_ab/*/gpt-oss/raw/* ]]; then |
| | continue |
| | fi |
| | if [[ "$f" == .fast-agent/sessions/* ]]; then |
| | continue |
| | fi |
| | ALL+=("$f") |
| | done |
| |
|
| | if [[ ${#ALL[@]} -eq 0 && ${#DELETED[@]} -eq 0 ]]; then |
| | echo "[info] nothing to publish" |
| | exit 0 |
| | fi |
| |
|
| | cmd=(hf upload "$SPACE_REPO" . --repo-type space --commit-message "$COMMIT_MSG") |
| |
|
| | for f in "${ALL[@]}"; do |
| | cmd+=(--include "$f") |
| | done |
| |
|
| | for f in "${DELETED[@]}"; do |
| | cmd+=(--delete "$f") |
| | done |
| |
|
| | echo "[info] repo=$SPACE_REPO" |
| | echo "[info] includes=${#ALL[@]} deletes=${#DELETED[@]}" |
| | printf ' + %s\n' "${ALL[@]:0:20}" |
| | if [[ ${#ALL[@]} -gt 20 ]]; then |
| | echo " ..." |
| | fi |
| |
|
| | if [[ "$DRY_RUN" == "1" ]]; then |
| | echo "[dry-run] ${cmd[*]}" |
| | exit 0 |
| | fi |
| |
|
| | "${cmd[@]}" |
| |
|
| | echo "[done] published to https://huggingface.co/spaces/${SPACE_REPO}" |
| |
|