RWX Quickstart with GitHub

If you're not already familiar with RWX, you may want to start with the general getting started guide.

Install the RWX GitHub App

Install the RWX GitHub App:

https://github.com/apps/rwx-mint

This gives RWX access to read your repository contents, which is necessary to read the run definitions in your .rwx directory. It also gives RWX access to a few other permissions which are necessary to trigger your runs via webhooks and report statuses.

Testing the GitHub App Installation

Run Definition

To test the GitHub app installation and RWX integration, create a file named .rwx/push.yml, commit, and push it to your repository.

on:
  github:
    push:

base:
  os: ubuntu 24.04
  tag: 1.1

tasks:
  - key: hello-world
    run: echo hello world

GitHub Status Check

Take a look at the commit you just pushed in the GitHub UI. It should have a status associated with it from RWX. If you click the details link, it'll take you to the RWX UI where you can see the hello-world task.

Cloning Repositories

Installing the GitHub App also provides a way to clone your repositories. RWX provides a GitHub Access Token via an expression: ${{ github.token }}.

You can use this token with the git/clone package to clone your repository.

To test cloning, update .rwx/push.yml to contain the following, and then commit and push:

on:
  github:
    push:
      init:
        commit-sha: ${{ event.git.sha }}

base:
  os: ubuntu 24.04
  tag: 1.1

tasks:
  - key: code
    call: git/clone 1.6.7
    with:
      repository: https://github.com/YOUR_ORG/YOUR_REPO.git
      ref: ${{ init.commit-sha }}
      github-access-token: ${{ github.token }}

Next Steps

For continuing to build a graph of tasks on top of your code task, see the CI reference workflow guide.