# Migrate from Blacksmith

Switching a job from Blacksmith to Coreload is a one-line change to `runs-on`, once the GitHub App is installed and your
organization is turned on.

## 1. Install the GitHub App

[Install the GitHub App](https://github.com/apps/coreload-ci) on your organization and choose the repositories. During the
beta, we turn your organization on by hand and send you its label; jobs wait until then. See the
[quickstart](https://coreload.com/quickstart/) for each step.

## 2. Change `runs-on`

```diff
 jobs:
   test:
-    runs-on: blacksmith-2vcpu-ubuntu-2404
+    runs-on: coreload
```

Use the label we send you. Jobs you don't change keep running on Blacksmith, so you can move one job at a time.

## 3. Map the sizes

New organizations start at 2 vCPU, so start with your 2 vCPU jobs:

- `blacksmith-2vcpu-ubuntu-2404` and `blacksmith-2vcpu-ubuntu-2604` map to `coreload`.
- `blacksmith-4vcpu-*` and `blacksmith-8vcpu-*` map to `coreload-4vcpu` and `coreload-8vcpu`, for every organization. (coming soon)
- `blacksmith-16vcpu-*` and `blacksmith-32vcpu-*` map to `coreload-16vcpu` and `coreload-32vcpu`. (coming soon)
- Blacksmith's ARM (`-arm`), Windows and Ubuntu 22.04 labels have no Coreload equivalent: keep those jobs on Blacksmith.

Coreload's sizes today, with their memory:

| `runs-on:` | Machine | Price |
| --- | --- | --- |
| `coreload` | 2 vCPU · 7 GiB | $0.00114 / min |
| `coreload-4vcpu` | 4 vCPU · 12 GiB | $0.00228 / min |
| `coreload-8vcpu` | 8 vCPU · 32 GiB | $0.00418 / min |
| `coreload-16vcpu` | coming | — |
| `coreload-32vcpu` | coming | — |

**Beta pricing: published before we bill anything**

At 2 and 4 vCPU, a Coreload job has less memory than a Blacksmith job of the same size (see the table). Keep a job that runs
close to its memory limit on Blacksmith for now.

## 4. Check what differs today

- **The image.** Coreload jobs run on a Debian 12 image with Node.js, npm, Python 3 and git, not on an image like
  GitHub's Ubuntu runners. `actions/setup-python` can fail to download a Python build, and Go is not preinstalled.
- **Docker.** There is no Docker in a Coreload job yet. Keep jobs that build or run containers on Blacksmith for now,
  including those that use `useblacksmith/setup-docker-builder` or `useblacksmith/build-push-action`.
- **Caching.** `actions/cache` works unchanged. There is no Coreload cache for customer jobs yet: dedicated machines get
  one first, then the shared pool (see Caching in the docs).
- **Sticky disks and SSH.** Blacksmith's sticky disks and SSH access have no Coreload equivalent yet.
