Skip to content

[Fix] Mixed-provider environments fail to start - #1083

Closed
roomote-community[bot] wants to merge 3 commits into
developfrom
fix/mixed-repository-providers-30otzplur1454
Closed

[Fix] Mixed-provider environments fail to start#1083
roomote-community[bot] wants to merge 3 commits into
developfrom
fix/mixed-repository-providers-30otzplur1454

Conversation

@roomote-community

Copy link
Copy Markdown
Contributor

Created by Roomote. Follow up by mentioning @roomote, in the web UI, or in Discord.

What changed

  • Mint source-control credentials for every provider represented in a task workspace, preserving the primary provider's scalar metadata while merging environment variables, repository credentials, proxy credentials, and artifact updates.
  • Route worker repository setup and source-control operations with repository-specific provider context instead of applying one provider to the entire task.
  • Filter provider token scopes so known foreign-provider repository names are ignored while unknown names and provider-specific scope violations still fail closed.
  • Redact deployment credentials for every minted non-GitHub provider and derive GitHub compatibility tokens from the merged credential environment.

Why this change was made

Mixed-provider environments could be configured in the dashboard but failed during task bootstrap because token minting, repository setup, and source-control routing assumed a single provider for the whole workspace.

Impact

Tasks can prepare and operate on repositories from providers such as GitHub and GitLab in the same environment without broadening token scope or weakening unknown-repository validation. Legacy single-provider payloads retain their existing scalar, workspace-resolution, and default behavior.

Fixes #1082

@roomote-community

roomote-community Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

1 issue outstanding. See task

  • packages/sdk/src/server/lib/task-runs/dequeue-helpers.ts:420 The new repositoryProviders map is only consumed, never added to sharedTaskPayloadSchema or populated during enqueue. For an environment containing GitHub and GitLab repositories, enqueue still leaves the provider unresolved; this helper then falls back to GitHub and mints only a GitHub token, so the GitLab repository still cannot be cloned. Persist a provider mapping from the selected/environment repository rows and copy it into snapshot-resume payloads.

Reviewed f89128f

@roomote-community

Copy link
Copy Markdown
Contributor Author

Superseded by the consolidated implementation in #1084.

@roomote-community roomote-community Bot closed this Aug 4, 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.

[Bug]: Cannot use git repos from GitHub and GitLab in the same environment

1 participant