1
0
Fork 0
mirror of https://github.com/imjasonh/kontain.me synced 2026-07-07 00:32:28 +00:00
kontain.me/cmd/git/test.sh
Jason Hall c90342181d fix upload-pack negotiation for stateless-RPC
Three related bugs in the git smart-HTTP upload-pack handler surfaced as
'bad band #78', 60s 504 hangs, and "expected ACK/NAK, got '?PACK'" when
fetching after previous pulls.

- Don't advertise no-done; we don't implement the ACK ready handshake.
- With multi_ack_detailed, don't emit per-round NAKs — only the final
  one after 'done'. Per-round NAKs make the client treat the first as
  the transition to sideband pack data, then choke on the second.
- Break out of the negotiation loop when a round reads no content
  (client closed without 'done') so we don't spin on EOF.
- Only emit pack data when 'done' was actually received. Non-final
  rounds get just NAK so HTTP keep-alive doesn't desync the next round.

Also trigger null_resource.test on the ko_build image digest so tests
re-run on every deploy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 21:54:40 -04:00

10 lines
478 B
Bash
Executable file

#!/usr/bin/env bash
set -eux
time crane validate --remote=git.kontain.me/github.com/imjasonh/kontain.me:main
# Default tag resolves to the default branch (main): same commit, cache hit.
time crane validate --remote=git.kontain.me/github.com/imjasonh/kontain.me
docker run --rm --pull=always git.kontain.me/github.com/imjasonh/kontain.me -c "git log -1"
docker run --rm --pull=always git.kontain.me/github.com/google/go-containerregistry -c "git fetch --unshallow && git log"