Skip to content

[pr-staging-deploy]: multi-repo config, service naming, and webhook routing#442

Open
ArtemLazarchuk wants to merge 1 commit intodevelopmentfrom
feat/pr-staging-deploy-multi-platform
Open

[pr-staging-deploy]: multi-repo config, service naming, and webhook routing#442
ArtemLazarchuk wants to merge 1 commit intodevelopmentfrom
feat/pr-staging-deploy-multi-platform

Conversation

@ArtemLazarchuk
Copy link
Copy Markdown
Collaborator

Summary

Extend PR Staging Deploy so one instance can manage staging for multiple GitHub repos, with clear Sliplane service names, reliable webhook routing, and docs-only / samples-only setups.

What changed

  • StagingReposProvider — loads Repos[] from config; falls back to legacy GitHub:Owner / GitHub:Repo + Staging:* when Repos is empty.
  • StagingRepoConfig / StagingComponentConfig — per-repo Docs and/or Samples (Dockerfile, context, clone URL).
  • GitHubWebhookHandler — resolves the target repo from the webhook payload and ignores events for repos not listed in config.
  • StagingDeployService — deploy/delete/redeploy keyed by StagingRepoConfig; single slug service names ({slug}-staging-docs-{PR}, {slug}-staging-samples-{PR}) with configurable Staging:DeploymentKey and legacy name parsing for existing services.
  • PrStagingDeployCommentService — optional Docs/Samples lines in PR comments; GitHub:Token fallback if GitHub:PrCommentToken is unset.
  • PrStagingDeployApp — table shows Repo, rows per repo × PR; Samples column hidden when no repo has Samples configured.
  • README — secrets-first setup, multi-repo mention, service naming, webhook troubleshooting trimmed.

Migration / ops

  • Existing single-repo env vars keep working until you introduce Repos[].
  • Redeploy this app so new service names and delete-on-close behavior apply; old Sliplane services may keep previous names until recreated.
2026-04-28.22.51.14.mov

- Added StagingReposProvider to manage multiple repository configurations.
- Updated services to utilize StagingRepoConfig for handling deployments across different repos.
- Enhanced GitHubWebhookHandler to route events based on repo configuration.
- Modified StagingDeployService to support dynamic service name generation based on repo keys.
- Updated README to reflect changes in configuration and deployment behavior.
@ArtemLazarchuk ArtemLazarchuk self-assigned this Apr 28, 2026
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