Skip to content

Resolve SSH to HTTPS for GitHub App git operations#53

Merged
jonathonbyrdziak merged 1 commit intomasterfrom
fix/github-app-ssh-to-https
Mar 21, 2026
Merged

Resolve SSH to HTTPS for GitHub App git operations#53
jonathonbyrdziak merged 1 commit intomasterfrom
fix/github-app-ssh-to-https

Conversation

@jonathonbyrdziak
Copy link
Copy Markdown
Contributor

Summary

  • Added GitHubApp::resolveUrl() — converts SSH URLs (git@github.com:...) to HTTPS when a GitHub App is configured, so the credential helper can provide the installation token
  • Original SSH URL is preserved in NodeConfig — only the working URL for git operations is converted
  • ReleaseBuilder::initReleaseDir() resolves URL internally + adds GIT_TERMINAL_PROMPT=0
  • Release watcher refreshes GitHub App credentials before each deploy cycle

Test plan

  • Run protocol init with SSH URL + GitHub App — verify config repo clones successfully via HTTPS
  • Verify NodeConfig stores original SSH URL
  • Deploy a new release via watcher — verify clone uses HTTPS with valid token

🤖 Generated with Claude Code

GitHub App installation tokens only work over HTTPS. Added
GitHubApp::resolveUrl() that converts SSH URLs to HTTPS when a
GitHub App is configured. The original SSH URL is preserved in
NodeConfig — only the working URL for git operations is converted.

- GitHubApp::resolveUrl() converts git@github.com:... to https://...
- ProtocolInit uses $gitCloneUrl for all git commands, stores original
  $gitRemote in NodeConfig
- ReleaseBuilder::initReleaseDir() resolves URL internally
- Release watcher refreshes GitHub App credentials before each deploy

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jonathonbyrdziak jonathonbyrdziak merged commit 9352d23 into master Mar 21, 2026
6 of 8 checks passed
@jonathonbyrdziak jonathonbyrdziak deleted the fix/github-app-ssh-to-https branch March 21, 2026 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant