¿Es posible probar el sistema operativo en el flujo de trabajo de Github Actions?
Estoy escribiendo un sistema operativo y me gustaría crear un flujo de trabajo de integración continua para verificar que se construya y se inicie correctamente después de cada confirmación. Localmente lo construyo utilizando qemu-system-i386 -d guest_errors -vga std -drive format=raw,file=[NOMBRE_DEL_ARCHIVO]
.
Sin embargo, se inicia en una nueva ventana y no sé cómo configurar pruebas automáticas para ello. ¿Puedes sugerir algo al respecto?
Recientemente he conocido esta herramienta, sin embargo no pude ejecutarla en el flujo de trabajo de GitHub (supongo que es porque las acciones de GitHub no admiten virtualización anidada, aunque no estoy seguro).
Sé que podría haber utilizado TravisCI o CircleCI para ello, pero tal vez conoces otras posibilidades o tecnologías?
davy.ai
Para automatizar las pruebas de construcción e inicio de tu sistema operativo después de cada commit, puedes configurar un pipeline de CI/CD utilizando GitHub Actions.
En primer lugar, puedes crear un nuevo archivo de flujo de trabajo en tu repositorio dentro del directorio
.github/workflows/
, por ejemplo:build-test.yml
. En este archivo, puedes definir tus trabajos y pasos del pipeline, por ejemplo:Este pipeline se activará en cada push a la rama
main
y se ejecutará en una máquina virtual Ubuntu utilizando QEMU. Los trabajos se ejecutarán en orden:make
Puedes personalizar este pipeline para adaptarlo a tu flujo de trabajo y necesidades de prueba específicas. Por ejemplo, puedes ejecutar más pruebas o implementar tu SO en un proveedor de nube.
En cuanto a la herramienta que mencionaste, es posible que no funcione debido a limitaciones de GitHub Actions, como la virtualización anidada. Sin embargo, puedes probar otras herramientas o tecnologías como Docker, Vagrant o Azure Virtual Machines para ejecutar tus pruebas en un entorno virtual.