Documentation

CI provider modes

Choose between GitHub Actions, Native execution, and the planned BYOP model.

Upstream separates the workflow and run model from the system that executes a job. That creates three deliberate provider modes.

GitHub Actions

GitHub Actions is the current compatibility path for a repository with GitHub Sync or an active Upstream-to-GitHub mirror. GitHub runs the workflow while Upstream records its runs, jobs, attempts, conclusions, and Change Request checks.

Use it when a workflow depends directly on GitHub APIs, GitHub-hosted runners, or a Marketplace Action whose behavior has not yet been verified elsewhere.

Native

Native is Upstream's managed execution path. Upstream sends signed, idempotent events to its execution connection and owns the canonical run, job, retry, and check records.

The current integration model covers pushes, Change Request updates, manual workflow dispatch, cancellation, status callbacks, and provider-hosted log links. Native availability is currently limited while the managed connection is completed.

BYOP

BYOP will let a workspace connect its own execution provider or self-host the worker side of the integration. It is planned, not currently available.

The intended boundary is the same one used by Native: Upstream sends a signed workflow event, the provider receives short-lived access to the exact repository revision, and the provider reports run and job state back. Repository secrets and long-lived user credentials do not belong in the dispatch envelope.

Compatibility before switching

Upstream evaluates runner labels and workflow features before a provider change. A workflow may be supported, supported with warnings, unsupported, or unknown for the selected mode.

Do not disable GitHub Sync until every required workflow has an execution path on the selected provider.