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
Fastest, and you install Xcode yourself.
Path B, Tart virtual machines
Nothing changes in the workflow except the label.
| Runner nativo | VM de Tart | |
|---|---|---|
| Tiempo de configuración | Unos 30 minutos | Una hora aproximadamente |
| Mismo entorno que en Cirrus | No, usted instala Xcode | Sí, las mismas imágenes |
| Máquina limpia por job | No | Sí |
| Cachés en caliente entre jobs | Sí | No, salvo que las incluya en la imagen |
| Jobs simultáneos por Mac | Uno por runner | Hasta 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:
runs-on: ghcr.io/cirruslabs/macos-runner:sonomaAnote 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:
# 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
brew install cirruslabs/cli/tart2. Descargue una imagen de Cirrus
Elija la imagen más parecida a lo que ejecuta hoy. Cirrus publica imágenes con y sin Xcode:
tart clone ghcr.io/cirruslabs/macos-sequoia-xcode:latest ci-baseLa 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
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.
./config.sh --url https://github.com/<owner>/<repo> --token <token> --ephemeral --labels tart-sequoia
./run.sh5. 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:
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
doneEn 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
Siguiente