Repolode
kunchenguid

kunchenguid/runner-up

Ejecuta GitHub Actions en tus propias máquinas Linux, Mac y Windows, con un contenedor, una VM o una cuenta nuevos para cada job.

Alternativa open source a:GitHub Actions hosted runners

Estrellas
284
Forks
21
Issues abiertos
2
Último commit
anteayer

¿Qué es?

runner-up ejecuta jobs de GitHub Actions en máquinas que ya tienes, en lugar de usar los runners alojados de GitHub. Un coordinador se conecta a GitHub mediante runner scale sets, supervisa los jobs pendientes y asigna cada uno a un espacio libre en una de tus máquinas. Cada job obtiene un contenedor Docker o una máquina virtual KVM nuevos en Linux, un clon de tart o un invitado de Apple container nuevos en Mac, o una cuenta de Windows o una máquina virtual Hyper-V nuevos en Windows; ese entorno se elimina cuando termina el job. Los espacios también pueden ejecutar jobs directamente en el host.

El coordinador se conecta a cada máquina por SSH y solo necesita acceso SSH, no un clúster de Kubernetes. Lleva el control de los núcleos y la memoria de cada máquina, reserva recursos para su propietario y ordena los jobs pendientes según reglas configurables que se aplican a varios repositorios. De forma predeterminada, rechaza los pull requests de forks. Los jobs en ejecución sobreviven al reinicio del coordinador, y una máquina cuyo agente deja de estar accesible se pausa hasta que vuelve a responder.

El proyecto es reciente y documenta el estado de cada proveedor: Docker y KVM en Linux, así como los espacios tart y host en Mac, ya han ejecutado jobs reales; Hyper-V, Apple container y los espacios de cuentas de Windows figuran como experimentales. Depende de la API runner scale set de GitHub, que GitHub todavía etiqueta como versión preliminar.

Funciones clave

  • 01Ejecuta cada job en un contenedor Docker, una VM KVM, un clon de tart o una cuenta de Windows nuevos, que se eliminan al terminar.
  • 02Se conecta a las máquinas por SSH, sin necesidad de un clúster de Kubernetes.
  • 03Divide los núcleos y la memoria de cada máquina en espacios y reserva recursos para su propietario.
  • 04Ordena los jobs pendientes de varios repositorios mediante reglas configurables.
  • 05De forma predeterminada, rechaza los jobs de pull requests de forks.
  • 06Mantiene los jobs en ejecución tras reiniciar el coordinador.

Casos de uso

  • Sustituir los minutos de runners alojados de pago de GitHub por máquinas Linux o Mac disponibles.
  • Ejecutar jobs de compilación y firma de macOS en un Mac que ya tienes.
  • Ejecutar jobs de CI en PC inactivos de la oficina o de casa sin administrar un clúster de Kubernetes.
  • Proporcionar a cada job de CI un entorno aislado en tu propio hardware.

Inicio rápido

  1. 1

    Instala runner-up con Go

    go install github.com/kunchenguid/runner-up@latest
  2. 2

    Elige el repositorio que se va a servir y la etiqueta del pool de Linux

    runner-up init --repo you/app --pool my-linux
  3. 3

    Añade una máquina accesible por SSH

    runner-up machine add box --ssh ci@box
  4. 4

    Comprueba la configuración e inicia el coordinator

    runner-up check-config && runner-up serve

Antes de usarlo

  • El coordinator solo se ejecuta en Linux y macOS, no en Windows.
  • Runner scale sets aún está en vista previa por parte de GitHub, por lo que los cambios que hagan allí pueden romper su funcionamiento.
  • Hyper-V, Apple container, Windows account, borrowing y draining son funciones experimentales y pueden cambiar entre versiones.
  • El proyecto es reciente y algunos proveedores todavía no han ejecutado trabajos reales.

En colecciones

Temas

Preguntas frecuentes

¿Qué es runner-up?
Ejecuta GitHub Actions en tus propias máquinas Linux, Mac y Windows, con un contenedor, una VM o una cuenta nuevos para cada job. runner-up ejecuta jobs de GitHub Actions en máquinas que ya tienes, en lugar de usar los runners alojados de GitHub. Un coordinador se conecta a GitHub mediante runner scale sets, supervisa los jobs pendientes y asigna cada uno a un espacio libre en una de tus máquinas. Cada job obtiene un contenedor Docker o una máquina virtual KVM nuevos en Linux, un clon de tart o un invitado de Apple container nuevos en Mac, o una cuenta de Windows o una máquina virtual Hyper-V nuevos en Windows; ese entorno se elimina cuando termina el job. Los espacios también pueden ejecutar jobs directamente en el host.
¿runner-up es gratuito? ¿Qué licencia tiene?
runner-up es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿runner-up sigue mantenido?
Mantenimiento activo. El último commit de runner-up fue el 6 nov 2026.
¿Para qué puedo usar runner-up?
Sustituir los minutos de runners alojados de pago de GitHub por máquinas Linux o Mac disponibles. Ejecutar jobs de compilación y firma de macOS en un Mac que ya tienes. Ejecutar jobs de CI en PC inactivos de la oficina o de casa sin administrar un clúster de Kubernetes. Proporcionar a cada job de CI un entorno aislado en tu propio hardware.
¿Cómo se instala runner-up?
Instala runner-up con Go: go install github.com/kunchenguid/runner-up@latest Elige el repositorio que se va a servir y la etiqueta del pool de Linux: runner-up init --repo you/app --pool my-linux Añade una máquina accesible por SSH: runner-up machine add box --ssh ci@box Comprueba la configuración e inicia el coordinator: runner-up check-config && runner-up serve
¿Dónde consigo runner-up?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kunchenguid/runner-up

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados