You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
MANUAL RUN: a real CI receiver triggers on a codeSplitters GitHub-mode webhook #541
Follow-up from #532. Tests show a GitHub-mode hook passes GitHub's signature check and carries GitHub's headers and fields. What's left is one real receiver triggering on a codeSplitters commit. That needs a person, a running receiver and the live site.
Steps
Open a smee relay at https://smee.io/new, or run a local Jenkins with the GitHub plugin and expose /github-webhook/ (for example with cloudflared tunnel).
On a codeSplitters repo, open Settings → Webhooks, paste the URL, tick Speak GitHub, and add it.
Commit a file on main.
Check that the receiver shows a push with a valid X-Hub-Signature-256, and (for Jenkins) that a job polling repository.clone_url starts.
Known gaps worth noting if they bite
No ping event when the hook is created. GitHub sends one; some receivers show it as the first green tick.
A merged branch has no pull_request.number, because codeSplitters branches aren't numbered.
A private repo's clone_url needs a read token. The receiver has to bring its own.
Done when a real receiver triggers from a codeSplitters commit.
Done by an agent on 2026-10-11, against the live site:
Opened a smee.io channel and listened on it with curl (SSE).
Made a throwaway public repo quinn/hook-test-541 and added a hook with github_compat: true and a known secret, through POST /api/repos/:o/:r/hooks.
Committed README.md on main.
smee got one delivery: X-GitHub-Event: push, User-Agent: GitHub-Hookshot/codeSplitters, ref: refs/heads/main, after = the git commit (c4faa29…), head_commit.message set, and repository.clone_url the repo's artifacts git URL. Its X-Hub-Signature-256 checks out: HMAC-SHA256 of the body with the secret matches.
The hook's own log reads push · ok · 200 · 1 try.
Afterwards I deleted the hook and the repo, and stopped the listener.
Jenkins wasn't tried. smee counts as the receiver here, as step 1 allows. The known gaps (no ping, no PR number, private clone needs a token) still stand.
Activity
QuinnsCode commentedon Oct 11, 2026
Done by an agent on 2026-10-11, against the live site:
curl(SSE).quinn/hook-test-541and added a hook withgithub_compat: trueand a known secret, throughPOST /api/repos/:o/:r/hooks.README.mdon main.X-GitHub-Event: push,User-Agent: GitHub-Hookshot/codeSplitters,ref: refs/heads/main,after= the git commit (c4faa29…),head_commit.messageset, andrepository.clone_urlthe repo's artifacts git URL. ItsX-Hub-Signature-256checks out: HMAC-SHA256 of the body with the secret matches.push · ok · 200 · 1 try.Jenkins wasn't tried. smee counts as the receiver here, as step 1 allows. The known gaps (no
ping, no PR number, private clone needs a token) still stand.🤖 Generated with Claude Code