Guía

Migrar de Cirrus Runners a un Mac mini dedicado

Cirrus Runners no acepta clientes nuevos y los contratos actuales se están acabando. Pase sus jobs de GitHub Actions para macOS a un Mac mini dedicado, de forma nativa o con las mismas imágenes de Tart.

60 minutos, actualizado el 2026-09-15

En abril de 2026, Cirrus Labs anunció que se unía a OpenAI. Cirrus CI dejó de ejecutar jobs el 1 de junio de 2026. Cirrus Runners no acepta clientes nuevos, y los clientes actuales solo tienen soporte hasta que termine su contrato vigente.

Si sus jobs de GitHub Actions para macOS se ejecutan en Cirrus Runners, necesitan un nuevo sitio antes de esa fecha. Esta guía muestra dos formas de pasarlos a un Mac mini dedicado y cómo elegir entre ellas.

Dos formas de migrar

Opción A, un runner nativo. El runner de GitHub Actions se ejecuta directamente en macOS. Es la configuración más sencilla, con los builds más rápidos y cachés que se mantienen en caliente entre jobs.

Opción B, máquinas virtuales Tart. Ejecuta las mismas imágenes de macOS de Cirrus que usa hoy, dentro de Tart, en su propio Mac. Cada job empieza en una máquina limpia, igual que en Cirrus.

Path A, native runner

macOS, no VMactions.runner service,one job at a timeIts own diskDerivedData and packagesstay warm

Fastest, and you install Xcode yourself.

Path B, Tart virtual machines

macOS host, TartClean VMone job, deletedClean VMone job, deletedThe same Cirrus images you run today.Apple's licence: two at a time, per Mac.

Nothing changes in the workflow except the label.

Un Mac, dos montajes. Toda la guía gira en torno a esa elección.
Runner nativoVM de Tart
Tiempo de configuraciónUnos 30 minutosUna hora aproximadamente
Mismo entorno que en CirrusNo, usted instala XcodeSí, las mismas imágenes
Máquina limpia por jobNoSí
Cachés en caliente entre jobsSíNo, salvo que las incluya en la imagen
Jobs simultáneos por MacUno por runnerHasta dos (límite de la licencia de Apple)

Elija A si su equipo es dueño del repositorio y quiere velocidad. Elija B si necesita que cada build empiece desde un estado conocido y limpio, o si no quiere cambiar nada en sus workflows salvo la etiqueta.

Antes de empezar

Haga una lista de lo que usan hoy sus workflows. Busque las líneas runs-on que apuntan a imágenes de Cirrus, por ejemplo:

.github/workflows
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

Anote la versión de macOS, las versiones de Xcode y todo lo que sus jobs instalan al empezar. Necesitará esa lista para cualquiera de las dos opciones.

Opción A: runner nativo

Siga nuestra guía «Runner autoalojado de GitHub Actions en un Mac mini», enlazada al pie de esta página. Cubre Xcode, el registro del runner y su ejecución como servicio.

Dé al runner una etiqueta que lo describa, como macduty-m4. Después cambie una línea en cada workflow:

.github/workflows
# before
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma

# after
runs-on: [self-hosted, macOS, ARM64, macduty-m4]

Ejecute un workflow en el nuevo runner mientras Cirrus siga funcionando. Cuando pase, migre el resto.

Opción B: las mismas imágenes, en Tart

1. Instale Tart en el Mac

ssh
brew install cirruslabs/cli/tart

2. Descargue una imagen de Cirrus

Elija la imagen más parecida a lo que ejecuta hoy. Cirrus publica imágenes con y sin Xcode:

ssh
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-base

La primera descarga es grande, a menudo de más de 50 GB, así que cuente con que tardará.

3. Inicie la VM e inicie sesión

ssh
tart run --no-graphics ci-base &
ssh admin@$(tart ip ci-base)

Las imágenes de Cirrus traen una cuenta de administrador por defecto. Cambie su contraseña antes de hacer cualquier otra cosa.

4. Registre el runner dentro de la VM

Dentro de la VM, registre un runner de GitHub Actions igual que en la opción A, con una diferencia: añada --ephemeral, para que el runner tome un solo job y después se detenga.

dentro de la VM
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh

5. Una VM nueva para cada job

En el propio Mac, un pequeño bucle clona una copia limpia de la imagen, ejecuta un job en ella y la elimina:

ssh
while true; do
  tart clone ci-base job
  tart run --no-graphics job &
  # wait for the job to finish, then:
  tart stop job
  tart delete job
done

En la práctica le conviene un script que además obtenga un token de registro nuevo para cada VM. Herramientas como Orchard, del mismo equipo, se encargan de esto en instalaciones más grandes.

La licencia de Apple permite como máximo dos máquinas virtuales de macOS funcionando a la vez en un Mac. Para más jobs en paralelo, añada otro Mac.

Después de la migración

  • Revise los tiempos de build. En un M4 dedicado o posterior, la mayoría de los equipos ven builds tan rápidos como en Cirrus, y más rápidos con las cachés en caliente.
  • Conserve los workflows antiguos durante una semana. Deje una copia de las líneas runs-on de Cirrus en una rama hasta que los nuevos runners hayan pasado por una release completa.
  • Solo repositorios privados. Los runners autoalojados no deberían tomar jobs de forks públicos.

Por qué un Mac mini dedicado

  • Una tarifa mensual fija. Sin facturación por minuto y nada que renegociar cuando termina un contrato.
  • Todas las generaciones. De M1 a M6, una junto a otra, para probar en los chips que tienen sus usuarios.
  • Solo para usted. Sin colas, sin vecinos, sin trabajos de nadie más en su hardware.
  • Alojado en la UE, bajo el RGPD.

MacDuty tiene en sus racks Mac mini de M1 a M6, con macOS instalado, listos en minutos. Añada su clave SSH desde el área de cliente.

En stock hoy

Estos están en el rack ahora. Elija uno, vea qué incluye y cree su cuenta solo cuando haga el pedido.

Consultando los racks

Un Mac mini propio

Elija una configuración. Si no está disponible, deje su correo y le escribimos el día en que esté en el rack.

Anual: al menos un 19 % menos que pagando al mes

  • 16GB

    Memoria unificada, 120 GB/s

    Núcleos
    10 CPU, 10 GPU
    Almacenamiento
    Disponible
    En stock
  • El más elegido
    24GB

    Memoria unificada, 120 GB/s

    Núcleos
    10 CPU, 10 GPU
    Almacenamiento
    Disponible
    En stock
  • 32GB

    Memoria unificada, 120 GB/s

    Núcleos
    10 CPU, 10 GPU
    Almacenamiento
    Disponible
    En stock
Visa Mastercard Transferencia SEPAPrecios en EUR, IVA añadido en el pago cuando corresponda. Mínimo un mes, después puede cancelar cualquier mes.

Siguiente