Introducción
GitHub permite el desarrollo de código distribuido y colaborativo. Para garantizar que el software funcione correctamente, muchos proyectos utilizan la integración continua para construir y probar cada nueva contribución antes de incluirla. El servicio de integración continua en GitHub es Acciones de GitHub .
Antecedentes
GitHub ofrece pruebas en los sistemas operativos Ubuntu , macOS y Windows. Sin embargo, existe una amplia variedad de otros sistemas operativos y es posible que desee asegurarse de que un proyecto de código abierto desarrollado en GitHub funcione bien en otro sistema operativo, en particular Fedora linux
Podman es una herramienta de línea de comandos que puede ejecutar un sistema operativo Linux diferente en un contenedor. Esto proporciona una manera conveniente de probar el software en otros sistemas operativos. El artículo Primeros pasos con Podman en Fedora Linux presenta cómo ejecutar Podman en Fedora.
Este artículo muestra cómo ejecutar Fedora Linux en un contenedor usando Podman. El sistema operativo anfitrión puede ser cualquier distribución que tenga Podman instalado, incluso macOS o Windows. En la siguiente demostración, el sistema operativo anfitrión es Ubuntu. Esto nos permitirá probar que los proyectos desarrollados en GitHub funcionarán con éxito en Fedoraincluso si Fedora no está disponible como sistema operativo base para las acciones de GitHub.
Ejemplo de configuración de acciones de GitHub
como un exampleañadimos integración continua para Fedora linux a ámbar rojo un proyecto que permite el uso de marcos de datos para el aprendizaje automático y otras aplicaciones de ciencia de datos en Rubí . Este proyecto se basa en Apache Flecha versión 10 o superior, por lo que necesitamos usar Fedora Linux Rawhide (F38) desde Fedora Linux 37 tiene actualmente Apache Liberación de flecha 9 en el Fedora repositorios
GitHub tiene una excelente documentación sobre el uso Acciones de GitHub . En resumen, necesitamos crear un Yaml archivo en el directorio .github/workflows del proyecto y, a continuación, habilite GitHub Actions si aún no está habilitado. A continuación se muestra un archivo yaml de muestra que puede modificar fácilmente:
name: CI on: push: branches: - main pull_request: jobs: test: name: fedora runs-on: ubuntu-latest steps: - name: Setup Podman run: | sudo apt update sudo apt-get -y install podman podman pull fedora:38 - name: Get source uses: actions/[email protected] with: path: 'red_amber' - name: Create container and run tests run: | { echo 'FROM fedora:38' echo '# set TZ to ensure the test using timestamp' echo 'ENV TZ=Asia/Tokyo' echo 'RUN dnf -y update' echo 'RUN dnf -y install gcc-c++ git libarrow-devel libarrow-glib-devel ruby-devel' echo 'RUN dnf clean all' echo 'COPY red_amber red_amber' echo 'WORKDIR /red_amber' echo 'RUN bundle install' echo 'RUN bundle exec rake test' } > podmanfile podman build --tag fedora38test -f ./podmanfile
Agregar el archivo yaml anterior permite probar en Fedora Linux ejecutándose como invitado en Ubuntu. Flujos de trabajo similares deberían funcionar para otros proyectos desarrollados en GitHub, lo que garantiza que una amplia variedad de software funcione bien en Fedora linux
Agradecimientos
Benson Muite agradece a Hirokazu SUZUKI para crear RedAmber, mejorar el flujo de trabajo y usarlo para probar RedAmber en Fedora linux