|
| 1 | +--- |
| 2 | +title: How to create a GitHub / GitLab runner on Apple silicon |
| 3 | +description: Learn more about creating a GitHub or GitLab runner on a hosted Mac mini. |
| 4 | +tags: apple-silicon runner gitlab github |
| 5 | +dates: |
| 6 | + validation: 2025-12-05 |
| 7 | + posted: 2025-12-05 |
| 8 | +--- |
| 9 | +import Requirements from '@macros/iam/requirements.mdx' |
| 10 | +import image from './assets/scaleway_github_token.webp' |
| 11 | + |
| 12 | + |
| 13 | +You can install your Mac mini with a pre-installed runner for GitHub or GitLab thanks to [Scaleway's Dev OS](/apple-silicon/reference-content/scaleway-dev-os/). |
| 14 | + |
| 15 | +<Message type="important"> |
| 16 | + If you wish to switch from **Runner** mode to [**Standard** mode](/apple-silicon/how-to/create-mac-mini/) (or vice versa), you must delete you current Mac mini and place a new order with the desired configuration. Mode changes cannot be performed in-place. |
| 17 | +</Message> |
| 18 | + |
| 19 | +<Requirements /> |
| 20 | + |
| 21 | +- A Scaleway account logged into the [console](https://console.scaleway.com) |
| 22 | +- [Owner](/iam/concepts/#owner) status or [IAM permissions](/iam/concepts/#permission) allowing you to perform actions in the intended Organization |
| 23 | +- An [SSH key](/organizations-and-projects/how-to/create-ssh-key/) |
| 24 | + |
| 25 | +<Message type="important"> |
| 26 | + Due to license constraints, the minimum lease for Apple silicon is 24 hours. As a result, the earliest you can delete a Mac mini is 24 hours after the start of its lease. |
| 27 | +</Message> |
| 28 | + |
| 29 | +## Creating a runner |
| 30 | + |
| 31 | +1. Click [Apple silicon](https://console.scaleway.com/asaas/servers) in the **Bare Metal** section of the side menu. The [Apple silicon splash page](https://console.scaleway.com/asaas/servers) displays. |
| 32 | + <Message type="note"> |
| 33 | + Should your account already contain Mac minis, a list of these will be displayed rather than the Apple silicon splash page. |
| 34 | + Alongside, you will see a (+ Create Mac mini) button, which you can click to create a new Mac mini. |
| 35 | + </Message> |
| 36 | +2. Click **Create Mac mini**. The Mac mini creation wizard displays. |
| 37 | +3. Complete the following steps in the wizard: |
| 38 | + - Choose the **Pre-installed runner** setup type for your Mac mini. |
| 39 | + - Choose an **Availability Zone**, which is the geographical region where your Mac mini will be deployed. The available Mac mini configurations depend on the Availability Zone: |
| 40 | + - Mac mini M4, M2 pro, and M2 are available in PARIS 1 |
| 41 | + <Message type="note"> |
| 42 | + Dev OS is ***not compatible** with with M1 Mac minis and machines equipped with less than **512 GB** of storage. |
| 43 | + </Message> |
| 44 | + - Choose a [Dev OS](/apple-silicon/reference-content/scaleway-dev-os/) version. |
| 45 | + - Tick the checkbox to accept the Dev OS license agreement. |
| 46 | + - Choose and configure your runner. |
| 47 | + - **GitHub**: Enter your repository URL, registration token, and a runner name. |
| 48 | + - **GitLab**: Enter your Instance URL, runner token, and a runner name. |
| 49 | + <Message type="tip"> |
| 50 | + * Credentials are validated during runner installation. If incorrect credentials are provided, the runner **will still be created but will be non-functional**. You will be able to [update your credentials](#updating-a-runner) post-installation. |
| 51 | + * GitHub tokens have a limited validity of one hour. If your token has expired it will not be possible to register your runner. You have to [retrieve a new token](#retrieving-your-github-token). |
| 52 | + </Message> |
| 53 | + - Enter a **Name** for your Mac mini, or leave the randomly-generated name in place. |
| 54 | + - Verify the **Estimated cost** for your Mac mini based on your chosen specifications. |
| 55 | + - Select the commitment plan for your Mac mini. Two options are available: |
| 56 | + - **No commitment:** You can terminate the subscription of your Mac mini at any time after the initial 24 hours, a mandatory period required by Apple's software license. [Learn more about Apple's software license requirements (Section 3.A)](https://www.apple.com/legal/sla/docs/macOSSequoia.pdf). |
| 57 | + - **Commitment:** You subscribe to a [commitment plan for Apple silicon](/apple-silicon/concepts/#commitment-plan) and benefit from a discounted monthly price based on your choice. |
| 58 | + <Message type="important"> |
| 59 | + Currently, it is not possible to switch from a monthly commitment to hourly billing. |
| 60 | + </Message> |
| 61 | +4. Tick the checkbox to agree to the Bare Metal specific conditions and the macOS License Agreement. |
| 62 | +5. Click **Create Mac mini** to finish. The installation of your Apple silicon is launched, and you are informed when it is ready. |
| 63 | + |
| 64 | +### Retrieving your GitHub token |
| 65 | + |
| 66 | +You can retrieve the required registration token to configure your self-hosted runner from your GitHub repository. |
| 67 | + |
| 68 | +1. Open your GitHub repository in a web browser. |
| 69 | +2. Click **Settings** to view the settings tab. |
| 70 | +3. In the **Actions** section of the sidebar, click **Runners** to display all runners configured for this project. |
| 71 | +4. Click **New self-hosted runner** to view the setup instructions. |
| 72 | +5. Retrieve the token from the command in the **Configure** section of the instructions. |
| 73 | + For example, if the command appears as: |
| 74 | + ``` |
| 75 | + $ ./config.sh --url https://github.com/my-user/my-github-repository/ --token 123456789abcdef123456789abcdef123456789a |
| 76 | + ``` |
| 77 | + The token is the value after `--token`, like: `123456789abcdef123456789abcdef123456789a`. |
| 78 | + |
| 79 | + <Lightbox image={image} size="medium" alt="A screenshot of the GitHub.com interface for adding new runners." /> |
| 80 | + |
| 81 | + <Message type="tip"> |
| 82 | + The registration token is **single-use** and **expires one hour after generation**. Do not share it or publish it publically. |
| 83 | + </Message> |
| 84 | + |
| 85 | +## Updating a runner |
| 86 | + |
| 87 | +1. Click [Apple silicon](https://console.scaleway.com/asaas/servers) in the **Bare Metal** section of the side menu. The Apple silicon splash page displays. |
| 88 | +2. Select the machine you want to update. The runner information overview displays. |
| 89 | +3. Open the **Settings** tab. |
| 90 | +4. Click **Edit** in the **Runner information** section of the page. A pop-up displays. |
| 91 | +<Message type="tip"> |
| 92 | + GitHub tokens have a limited validity of one hour. If your token has expired it will not be possible to register your runner. You have to [retrieve a new token](#retrieving-your-github-token). |
| 93 | +</Message> |
| 94 | +5. Update your runner credentials and click **Save and reboot**. Your runner configuration will be updated and the runner performs a reboot to take the new configuration into effect. |
| 95 | + |
| 96 | +<Message type="tip"> |
| 97 | +Runners relies on dev OS releases & are not kept up to date automatically. Once the runner is delivered you are responsible for keeping the preinstalled software up to date. In order to simplify maintenant of your runner fleet, we recommend personalizing your runners using CICD jobs. This way you can easily dispose of existing runners running outdated versions & replace them with new ones |
| 98 | +</Message> |
| 99 | + |
| 100 | + |
| 101 | +## Reinstalling a runner |
| 102 | + |
| 103 | +Reinstalling a server delivered in Dev OS mode is **not possible** due to the lengthy installation process required for the full Dev OS stack. |
| 104 | +You have to delete the runner and [create a new one](#creating-a-runner). |
| 105 | + |
| 106 | +## Deleting a runner |
| 107 | + |
| 108 | +You can delete a runner like any Mac mini. Refer to [How to delete a Mac mini](/apple-silicon/how-to/delete-mac-mini) for further information. |
| 109 | + |
| 110 | +<Message type="note"> |
| 111 | + Mac mini and macOS are trademarks of Apple Inc., registered in the U.S. and other countries and regions. IOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used by Apple under license. Scaleway is not affiliated with Apple Inc. |
| 112 | +</Message> |
0 commit comments