En c:/python/lilimac
Vamos a desglosar paso a paso cómo preparar tu proyecto y configurar el archivo build.yml para que GitHub Actions compile tu script de Python y suba los archivos necesarios.
Preparando los Archivos para Subir
Antes de crear el build.yml asegúrate de tener los siguientes archivos en tu repositorio:
pythonscript.py: Tu script de Python principal.
requirements.txt: Un archivo que lista todas las dependencias de tu proyecto.
Cualquier otro recurso: Imágenes, archivos de configuración, etc., que tu aplicación requiera.
Estructura de tu proyecto:
tu_proyecto/
├── pythonscript.py
├── requirements.txt
├── otros_recursos/
│ └── imagen.png
└── .github/
└── workflows/
└── build.yml
Creando el archivo build.yml
El archivo build.yml es el corazón de tu workflow de GitHub Actions. Define los pasos que se ejecutarán cada vez que se active el workflow (por ejemplo, en cada push a la rama main).
YAML
name: Build Python App
on:
push:
branches: [ main ]
jobs:
build:
runs-on: macOS-latest
steps:
– uses: actions/checkout@v3
– name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ‘3.9’
– name: Install
dependencies
run: pip install -r requirements.txt
– name: Build the app
run: pyinstaller –onefile pythonscript.py
– name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
Usa el código con precaución.
Explicación de cada paso:
name: El nombre del workflow.
on: Define cuándo se ejecutará el workflow (en este caso, en cada push a la rama main).
jobs: Define los trabajos del workflow.
build: El nombre del trabajo.
runs-on: Especifica en qué sistema operativo se ejecutará el trabajo (macOS-latest).
steps: Los pasos a seguir:
checkout: Descarga el código del repositorio.
Set up Python: Configura el entorno de Python.
Install dependencies: Instala las dependencias desde requirements.txt.
Build the app: Compila el script con PyInstaller.
Upload artifact: Sube la carpeta dist (que contiene la aplicación compilada) como un artefacto.
Entendiendo la subida de artefactos
¿Qué es un artefacto? Es un archivo o conjunto de archivos que se generan durante una ejecución de workflow y que pueden ser descargados posteriormente. En este caso, el artefacto es la aplicación compilada.
¿Por qué subir un artefacto?
Descarga: Puedes descargar la aplicación compilada para probarla localmente.
Distribución: Puedes usar la aplicación compilada para crear una release en GitHub o distribuirla a través de otros canales.
Personalizando la subida:
name: Cambia dist a cualquier nombre que desees para el artefacto.
path: Especifica la ruta exacta de los archivos que quieres subir. Por ejemplo, si tienes un archivo de configuración adicional, puedes subirlo junto con la aplicación.
Múltiples archivos: Puedes subir múltiples archivos o directorios especificando una lista de rutas separadas por comas.
Próximos pasos
Commit y push: Guarda los cambios en tu repositorio.
Ejecutar el workflow: Ve a la pestaña “Actions” de tu repositorio en GitHub para ver el progreso del workflow.
Descargar el artefacto: Una vez que el workflow se haya completado, puedes descargar el artefacto desde la pestaña “Artifacts”.
Consideraciones adicionales:
Personalización: Puedes personalizar el workflow para que se adapte a tus necesidades específicas, como usar diferentes versiones de Python, agregar pasos de prueba, etc.
Distribución: Explora las opciones para distribuir tu aplicación compilada, como GitHub Releases, plataformas de distribución de software, o crear un instalador.