refactor(compute-providers): rename runner providers - #5267
Merged
Conversation
BREAKING CHANGE: runnerProvider and RUNNER_PROVIDER_TYPE are renamed to computeProvider and COMPUTE_PROVIDER_TYPE.
Contributor
Dependency ReviewThe following issues were found:
License Issueslambdas/functions/control-plane/package.json
lambdas/functions/webhook/package.json
lambdas/libs/compute-providers/package.json
OpenSSF ScorecardScorecard details
Scanned Files
|
edersonbrilhante
enabled auto-merge (squash)
August 12, 2026 22:13
Contributor
Author
|
@Brend-Smits @stuartp44 when the time permits. Check this PR. It normalized the naming for compute providers. |
guicaulada
approved these changes
Aug 14, 2026
guicaulada
left a comment
Contributor
There was a problem hiding this comment.
It's a pure rename. Grep finds zero stale references. The default handles migration correctly and falls back to ec2.
This intentionally changes the internal workspace package/import API and the direct modules/webhook matcher object shape. Custom consumers of the old package path, matcher field, or environment variable must migrate.
Would this be a breaking change?
Should we rename it to refactor()!: or add a BREAKING CHANGE footer, or update docs/configuration.md to document this change?
Otherwise LGTM!
This was referenced Aug 14, 2026
guicaulada
added a commit
that referenced
this pull request
Aug 14, 2026
## Description Supersedes #5038 by @thomasnemer, whose branch lives in an org-owned fork that maintainers cannot push to. This PR rebases that work onto current `main` (porting it to the compute-provider architecture introduced in #5234/#5267) and addresses the review feedback on #5038. All of Thomas's work is preserved with co-authorship. From the original PR: - New `additional_github_apps` variable (optional, no breaking changes) accepts extra GitHub Apps with `id`, `key_base64`, and optionally `installation_id` (direct values or SSM references). - The control-plane lambdas (scale-up, scale-down, pool, job-retry) select one app per invocation and thread the selection through the JWT → installation token → API call chain, spreading load across N × 15,000 req/hour rate-limit buckets. - Installation ID resolution: pre-configured `installation_id` wins, the primary app reuses the webhook payload's id, API lookup is the fallback. Changes on top of #5038: - **Ported to the compute-provider layout**: the `appIndex` selection lives in the orchestrators (`scale-up.ts`, `pool.ts`, `scale-down.ts`) and flows to providers via `CreateGitHubRunnerConfig.appIndex`, so provider interfaces are unchanged. - **Restored the 404 stale-installation fallback** ([review feedback](#5038 (review))): when installation auth fails with 404 (app uninstalled/reinstalled while messages were in flight), the flow re-resolves the installation via the API and retries once with the same app. This now also covers stale pre-configured installation ids, and has regression tests in `octokit.test.ts`. - Updated env wiring for the `COMPUTE_PROVIDER_TYPE` era and regenerated module docs. ## Test Plan - `vitest`: control-plane 348 passed, compute-providers 270 passed, webhook 89 passed. - New regression tests: stale-payload 404 retry, same-id rethrow, non-404 rethrow. - ESLint and Prettier clean on all touched packages. - `terraform fmt -check -recursive`, `terraform validate` (root, runners, multi-runner, ssm), `terraform test` in `modules/runners` (1 passed). - READMEs regenerated with terraform-docs. ## Related Issues Closes #5037. Supersedes #5038. Co-authored with @thomasnemer. --------- Co-authored-by: Thomas Nemer <thomas.nemer@doctolib.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
runnerProvidertocomputeProviderandRUNNER_PROVIDER_TYPEtoCOMPUTE_PROVIDER_TYPE.computeProviderand control-plane deployments withoutCOMPUTE_PROVIDER_TYPEdefault to EC2.This intentionally changes the internal workspace package/import API and the direct
modules/webhookmatcher object shape. Custom consumers of the old package path, matcher field, or environment variable must migrate.Test Plan
yarn install --frozen-lockfile.terraform validatefor the webhook and runners modules.modules/webhook/README.mdis current with terraform-docs v0.20.0.git diff --check.Related Issues
N/A