Skip to content

Add RWX as a build provider #4840

@devlead

Description

@devlead

Discussed in https://github.com/orgs/cake-build/discussions/4796

Originally posted by robinaugh April 30, 2026
Hey team - Per the contributing guide, I'm seeking buyoff before opening a PR.

RWX is a cloud CI/CD platform with a growing .NET user base. I'd like to add it as a build provider under src/Cake.Common/Build/Rwx/, alongside the 14 already supported (GitHub Actions, GitLab CI, Azure Pipelines, etc.) so that Cake scripts running on RWX get the same IsLocalBuild / IsRunningOnRwx / BuildSystem.Rwx.Environment behavior they get on every other supported CI.

Detection contract

RWX exposes a documented env var contract: https://www.rwx.com/docs/environment-variables#meta-environment-variables

Proposed shape

Modeled on the existing TravisCI / GitLabCI providers — env/info only, no Commands surface for now:

src/Cake.Common/Build/Rwx/
  IRwxProvider.cs
  RwxProvider.cs
  RwxInfo.cs
  Data/RwxEnvironmentInfo.cs

Plus the usual additions to BuildProvider.cs, BuildSystem.cs, BuildSystemAliases.cs, DI registration, and unit tests modeled on the existing provider tests.

Worth flagging up front:

  • IsPullRequest aggregation. RWX's current envvar contract doesn't expose a PR identifier (many runs are kicked off from the CLI before PRing), so the initial provider would not contribute to BuildSystem.IsPullRequest.
  • Casing. Existing folders are inconsistent (GoCD, GitLabCI vs. MyGet). I'd go Rwx to match .NET conventions, but happy to defer.

If approved, I'll open the accompanying issue linking back to this discussion and start the PR against develop. Once that's in, we'd also document the integration in our docs at rwx.com/docs.

I appreciate the time, and I'm happy to adjust scope or shape based on what you'd prefer to see!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions