Este documento está basado en el artículo sobre AppVeyor, disponible en la documentación sobre desarrollo de complementos de esta web.
Procedimiento para construir, probar con NVDA, comprobar estilo de las diferencias y adjuntar archivos nvda-addon a liberaciones de GitHub
Configuración de acciones de GitHub para complementos
Esto funciona con complementos basados en la plantilla de complemento.
-
Consigue el código de un complemento.
Ejemplo:
«`
git clone https://github.com/usuario/repogit pull
«`
2. En la carpeta raíz del complemento (donde se encuentra el archivo sconstruct), pega este archivo de configuración de Flake8, que usa reglas de Flake8 configuradas para NVDA. El archivo debe llamarse setup.cfg -
En la misma carpeta, pega este archivo requirements.txt
-
En la misma carpeta, crea un archivo llamado
changelog.md
. Este archivo debería estar vacío o incluir los cambios de la versión actual. -
En la carpeta raíz del repositorio del complemento, crea la subcarpeta
.github/workflows
. -
Dentro de la subcarpeta
carpetaDelRepositorio/.github/workflows
, puedes incluir archivos de flujo de trabajo de Github (.yml o .yaml). Por ejemplo, usa con total libertad los flujos de trabajo disponibles en https://github.com/nvdaes/clipContentsDesigner/tree/master/.github/workflows
Aquí hay información sobre la gestión de ejecución de flujos de trabajo.
Liberaciones
Para publicar una nueva versión de un complemento, puedes crear una nueva etiqueta y enviar los cambios a GitHub:
Ejemplo
git tag 1.0
git push origin 1.0
Ahora, se creará la liberación en GitHub y se adjuntará el archivo binary-1.0.nvda-addon.
Con el archivo yaml proporcionado, las liberaciones creadas a partir de etiquetas que terminen en «-dev» se marcarán como en desarrollo.
Ejemplo
git tag 1.0-dev
git push origin 1.0-dev
Referencias
Documentación
Acciones utilizadas
- actions/checkout: acción para hacer checkout en un repositorio
- actions/upload-artifact: acción para subir artefactos
- actions/download-artifact: una acción para descargar artefactos
- unsplash/comment-on-pr@master: una acción para comentar en una solicitud de cambios (podría no funcionar en Windows)
- action/GitHubScript: API de scripting de GitHub en JavaScript
- actions/create-release: una acción para crear liberaciones mediante la API de liberaciones de GitHub
- svenstaro/upload-release-action: Subir archivos a una liberación de GitHub
Reconocimientos
Los flujos de trabajo de más arriba están basados o han sido creados a partir del trabajo realizado por @mhameed
https://github.com/nvdaaddons/l10ntest
Gracias también a @josephsl y @CyrilleB79 por sus respuestas, como se menciona en este mensaje sobre los flujos de trabajo de GitHub