Acciones de GitHub: use Podman para ejecutar Fedora linux

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

Related Posts