Status Checks
RWX reports status checks to GitHub and GitLab when runs are triggered by events from those platforms. By default, a single status check is created for the entire run. You can customize this behavior to disable status checks, rename them, or create custom status checks that group specific tasks.
Default Status Checks
By default, RWX creates a single status check that reflects the overall status of your run. The status check is prefixed with RWX: and includes information about the run definition file and trigger type.
To disable the default status check:
on:
github:
push:
status-checks: false
To provide a custom name for the default status check:
on:
github:
push:
status-checks:
name: CI
This will display as RWX: CI on your commit.
Use the custom status check name if you rename a run definition and want the status check to match the previous status check name.
Custom Status Checks
Custom status checks allow you to group specific tasks into their own status checks. This is useful when you want separate pass/fail indicators for different parts of your CI pipeline, such as tests, linting, or deployments.
We recommend not making custom status checks solely for having more granular visibility of results. RWX provides an aggregated view of failures across a run, which is generally better than having to click into multiple status checks individually. However, you may prefer having separate status checks.
You can also use custom status checks to have more flexibility with which tasks are required to succeed based on the branch protection rules that you have configured in your version control platform.
Single Task
To create a custom status check for a single task:
on:
github:
push:
status-checks:
- tasks: unit-tests
You can also give it a custom name:
on:
github:
push:
status-checks:
- tasks: unit-tests
name: Unit Tests
Multiple Tasks
To group multiple tasks into a single status check:
on:
github:
push:
status-checks:
- tasks: [integration-tests, e2e-tests]
The custom status check will show as successful only when all specified tasks succeed.
Combining Default and Custom
You can configure both the default status check and custom status checks:
on:
github:
push:
status-checks:
default:
name: CI
custom:
- tasks: lint
name: Linting
- tasks: [unit-tests, integration-tests]
name: Tests
If you only specify custom status checks (without the default key), the default status check remains enabled.
Configuration Reference
Boolean Shorthand
The simplest form enables or disables all status checks:
status-checks: true # Enable (default behavior)
status-checks: false # Disable all status checks
Template Expressions
You can use template expressions for dynamic configuration.
Default Status Check Options
| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean or template | true | Whether to create the default status check |
name | string or template | auto-generated | Custom display name for the status check |
Custom Status Check Options
| Field | Type | Required | Description |
|---|---|---|---|
tasks | string or string[] | Yes | Task key(s) to include in this status check |
name | string or template | No | Custom display name (auto-generated if not specified) |
Behavior
A task that is skipped in RWX but specified in a custom status check will report a failed status check.
In the following example, if unit-tests does not run, then the "Unit Tests" check will be marked as failed.
on:
github:
push:
status-checks:
- tasks: unit-tests
name: Unit Tests