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.

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

FieldTypeDefaultDescription
enabledboolean or templatetrueWhether to create the default status check
namestring or templateauto-generatedCustom display name for the status check

Custom Status Check Options

FieldTypeRequiredDescription
tasksstring or string[]YesTask key(s) to include in this status check
namestring or templateNoCustom 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