Procedimiento para compilar y adjuntar archivos nvda-addon a Releases (liberaciones) en GitHub

Este método se puede usar para automatizar la compilación de complementos de NVDA (binarios con la extensión .nvda-addon), los cuales van a ser subidos luego a Github y añadidos como adjuntos a la release (liberación) creada..

Funciona para complementos basados en la Plantilla para complementos.

Configurando AppVeyor para complementos

  1. Consigue el código de un complemento.

Ejemplo:

git clone https://github.com/nombreusuario/repo

git pull
  1. En la raíz de la carpeta del complemento (la misma en la que está el archivo sconstruct), pega este archivo de configuración de AppVeyor (appveyor.yml).
  2. Si no tienes ya uno, crea un token personal de acceso a la API de GitHub y cífralo.
  3. En el archivo appveyor.yml, reemplaza el valor proporcionado para la clave segura por tu token cifrado. Por ejemplo, en lugar de
  auth_token:
    secure: 3yxF2EQ/wfLKNEobcRfdNL6srjXjoMdRa/LSQ7z2PJNqOL3IEyiFtlnxxHeIQskH
auth_token:
    secure: tuTokenCifrado

Ahora puedes publicar el archivo appveyor.yml en cualquier repositorio de complemento en tu cuenta de GitHub.

  1. Inicia sesión en AppVeyor.
  2. En AppVeyor, selecciona New Project (Nuevo Proyecto). (Si es necesario, elige GitHub y autorízalo).
  3. Localiza el nombre del repo en el que estás interesado, mueve el ratón sobre él (por ejemplo presionando NVDA+DividirBloqueNumérico o NVDA+shift+m), y activa el enlace “Añadir” debajo.

Liberando

Para publicar una nueva versión de un complemento, puedes crear una etiqueta y enviarla a GitHub:

Ejemplo

git tag 1.0

git push origin 1.0

Entonces la release (versión) se creará y binario-1.0.nvda-addon se añadirá como adjunto a ella en GitHub.

Procedimiento para recibir notificaciones sobre los commits

Para las notificaciones sobre eventos push (recomendadas a la hora de revisar complementos), visita:
https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/githubWebhooks

En cualquier caso, si quieres usar AppVeyor:

  1. Crea una dirección de correo para recibir notificaciones. Por ejemplo, puedes usar la integración de correo electrónico de groups.io.
  2. En el archivo appveyor.impl, añade las siguientes líneas:

notifications:
  - provider: Email
    to:
      - notificationsEmailAddress.example.com

Reemplaza notificationsEmailAddress.example.com por una dirección de correo electrónico válida.

Hay un tema en la lista de correo de groups.io que sirve como ejemplo real.

Referencias

Agradecimientos

Gracias a @abdel792, @derekriemer y @tuukao por hacer esto posible.