---
title: "Quick Start - Move a GitHub Actions Job to 9apes"
description: "Install the 9apes GitHub App, update one workflow runs-on label, run your first job, and roll back safely if needed."
url: https://9apes.com/docs/quick-start/
---

# Quick Start - Move a GitHub Actions Job to 9apes

This guide moves one existing GitHub Actions job to 9apes. Start with a low-risk workflow, confirm the result, then migrate more jobs.

## Prerequisites

- A 9apes account. Signing in with GitHub creates one — see [Create an Account](https://9apes.com/docs/sign-up/) for the whole flow.
- Permission to install a GitHub App for the target organization or repository.
- A workflow file in `.github/workflows/`.
- A supported runner label from [Available Runners](https://9apes.com/docs/available-runners/).

## Step 1: Install the 9apes GitHub App

1. [Sign in to 9apes](https://build.9apes.com/login). The first sign-in creates the account; there is no registration form, and no credit card is required.
2. It will take you to the GitHub App installation flow.
3. Select the organization on which you want to use 9apes.
4. Choose the repositories on which you want to provide access to 9apes.
5. Complete the installation and return to 9apes.

If you are not an organization owner, GitHub asks an owner to approve the installation. [Create an Account](https://9apes.com/docs/sign-up/) covers that case.

## Step 2: Change one job to use 9apes

Open any workflow file and change the job's `runs-on` value.

Before:

```yaml
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm test
```

After:

```yaml
jobs:
  test:
    runs-on: 9apes
    steps:
      - uses: actions/checkout@v4
      - run: npm test
```

9apes provides different configurations of runners for different use cases. You can choose the runner that best fits your needs from [Available Runners](https://9apes.com/docs/available-runners/).

## Step 3: Push and run the workflow

Commit the workflow change and push it to GitHub.

```bash
git add <workflow-file>
git commit -m "Run CI on 9apes"
git push
```

Open the workflow run in GitHub Actions. The job should be picked up by a 9apes runner.

#### Roll back if needed

To move the job back to GitHub-hosted runners, restore the previous `runs-on` value and push the workflow again.

```yaml
jobs:
  test:
    runs-on: ubuntu-latest
```

## Related pages

- [Create an Account](https://9apes.com/docs/sign-up/) — the sign-up flow in full, including what is not required
- [Available Runners](https://9apes.com/docs/available-runners/) — every supported `runs-on` label with vCPU, memory, and per-minute price
- [GitHub Actions runner pricing](https://9apes.com/pricing/) — what your workflows would cost on 9apes against GitHub-hosted rates
- [Troubleshooting](https://9apes.com/docs/troubleshooting/) — queued jobs, missing labels, and permission problems
