hlassiege/panopliepublic Fork
⑂ main
Commits
⬇ Clone ▾
git clone https://git.rickub.com/hlassiege/panoplie.git
git clone ssh://git@rickub.com/hlassiege/panoplie.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP
success

Mirror to GitHub #10

push · main · 8f750be7ran in 6s · 14 lines of output
queued <1s ran 6s total 6s
1 jobs
0 failed
6s duration
— tests
0 artifacts
mirror
successmirror 6s
successSet up job
cloning hlassiege/panoplie @ 8f750be793fc382b4328d90b05c5b7e862dd037e
successCheckout code <1s
(checkout already performed by the runner — delivered as the read-only work disk)
successPush to GitHub 5s
Run
mkdir -p ~/.ssh

# A key pasted from Windows carries CRLF line endings, and some secret stores flatten newlines
# into spaces or literal \n: OpenSSH then fails with "error in libcrypto". Rebuild the PEM layout
key=$(printf '%s' "$SSH_KEY" | tr -d '\r')
key=${key//\\n/$'\n'}
header=$(grep -oE -- '-----BEGIN [A-Z ]+-----' <<< "$key" || true)
if [[ -n $header && $key != *$'\n'* ]]; then
  footer=$(grep -oE -- '-----END [A-Z ]+-----' <<< "$key")
  body=${key#"$header"}
  body=${body%"$footer"}
  key=$(printf '%s\n' "$header"; tr ' ' '\n' <<< "$body" | sed '/^$/d'; printf '%s\n' "$footer")
fi
printf '%s\n' "$key" > ~/.ssh/mirror_key
chmod 600 ~/.ssh/mirror_key

# Fail early with a readable diagnosis (header and line count only, never the key itself)
if ! ssh-keygen -y -f ~/.ssh/mirror_key > /dev/null; then
  first=$(head -n 1 ~/.ssh/mirror_key)
  [[ $first == -----* || $first == ssh-* ]] || first="(neither a PEM header nor a public key)"
  echo "GH_MIRROR_SSH_KEY is not a usable private key: $(wc -l < ~/.ssh/mirror_key) lines, first line: ${first:0:40}"
  echo "Expected the private key, without passphrase, from -----BEGIN OPENSSH PRIVATE KEY----- to -----END OPENSSH PRIVATE KEY-----"
  exit 1
fi
echo "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl" > ~/.ssh/known_hosts
export GIT_SSH_COMMAND="ssh -i ~/.ssh/mirror_key -o IdentitiesOnly=yes"

# origin/HEAD would otherwise become a branch named HEAD on GitHub
git remote set-head origin --delete 2>/dev/null || true

git push --force --prune git@github.com:hlassiege/panoplie.git \
  'refs/remotes/origin/*:refs/heads/*' \
  'refs/tags/*:refs/tags/*'
ciguest: network up (172.30.0.2/30 via 172.30.0.1)ciguest: starting dockerd (overlay2, data-root on scratch)ciguest: dockerd is readyciguest: loaded baked image postgres_16-alpine.tar.gz: Loaded image: postgres:16-alpineciguest: 1 baked image archive(s) loaded (no per-job registry pull needed)ciguest: logged into registry registry.rickub.com as rickubTo github.com:hlassiege/panoplie.git * [new branch] origin/main -> main

No test reports for this run.

Tell a job where its test runner writes its report and this tab fills in: how many tests passed, failed and were skipped, a bar of the result at a glance, then every failure first — with the assertion that failed and the output around it — over a per-suite list of cases and their durations. No scrolling a log for the word FAIL.

It is one reports: key on the job — a job key, not a step, so the report is collected whatever the job concluded. JUnit XML and go test -json are both understood, and most runners already emit one of them. reports: is a rickub extension and works only in .rickub/workflows/; in .github/workflows/ it is a parse error on purpose, because those files are also meant to run on github.com.