Resumen
Para crear una extensión robusta para Discourse, es aconsejable incluir la Integración Continua (CI) en su plugin o componente de tema. Esto ayudará a detectar errores tempranamente y disminuirá las posibilidades de errores en su código.
Configurar un flujo de trabajo de GitHub Actions para automatizar compilaciones y pruebas es un enfoque que el equipo de Discourse utiliza en todos nuestros componentes, y recomendamos que usted haga lo mismo.
Configuración
Para añadir flujos de trabajo automatizados para que GitHub Actions los detecte, necesita crear una carpeta .github/workflows en el directorio raíz de su repositorio.
Dentro de la carpeta workflows, puede definir un conjunto de automatizaciones que GitHub Actions necesitará ejecutar. Por ejemplo, estos podrían ser archivos .yml para linting y pruebas.
Hemos creado flujos de trabajo de plantilla tanto para plugins como para componentes de tema que puede utilizar. Estos se conectan a nuestras definiciones de ‘flujo de trabajo reutilizable’ aquí.
En el repositorio esqueleto de la plantilla, en GitHub puede hacer clic en el botón Use this template para crear un repositorio de plugin/componente de tema basado en la plantilla.
Alternativamente, si ya tiene un proyecto al que desea añadir los flujos de trabajo, simplemente copie el flujo de trabajo relevante a la carpeta .github/workflows/ de su repositorio:
Plugins: discourse-plugin.yml
Temas y Componentes de Tema: discourse-theme.yml
Estas plantillas están fijadas a una versión principal específica de nuestros flujos de trabajo reutilizables. Las pequeñas mejoras que hagamos en los flujos de trabajo se aplicarán automáticamente a su tema/plugin. Para cambios disruptivos (ej. introducir un nuevo linter), aumentaremos la versión principal de los flujos de trabajo reutilizables, y usted deberá actualizar su flujo de trabajo para que apunte a la nueva versión.
¡Listo! ¡Ya está todo configurado! Simplemente, cree un commit o un PR a su repositorio y GitHub Actions detectará automáticamente los flujos de trabajo y comenzará a ejecutar los trabajos.
GitHub Actions mostrará un desglose de cada prueba y, después de ejecutarla, indicará un
o
dependiendo de si la prueba pasó o falló.
Si una prueba falló, hacer clic en los detalles le proporcionará información sobre lo que falló, lo que puede darle pistas sobre lo que está mal en su código y lo que necesita ser arreglado.
Añadir sus propias pruebas
Para que las pruebas de plugins y componentes funcionen eficazmente, es importante que escriba pruebas para su plugin o componente de tema.
Para obtener detalles sobre cómo escribir pruebas de front-end con EmberJS, consulte:
- Write acceptance tests and component tests for Ember code in Discourse
- Introduction - Testing - Ember Guides
Para más detalles sobre cómo escribir pruebas RSpec con Rails, consulte:
Ejemplos
Para su beneficio, hemos seleccionado un par de ejemplos de plugins y componentes de tema que tienen pruebas robustas integradas:
| Plugin / Componente | Pruebas del Lado del Cliente | Pruebas del Lado del Servidor |
|---|---|---|
| Assign | ||
| Calendar | ||
| Reactions | ||
| Right Sidebar Blocks | ||
| Tag Icons | ||
| Table Builder |
Este documento está controlado por versiones: sugiera cambios en github.
← START DOCS ASSET MAP
[
{
“local_path”: “/assets/ci-with-github-actions-1.png”,
“local_sha1”: “c3fb59eeb13645670b751959d13cdf8e423e0fcf”,
“remote_short_url”: “upload://imziUfvg1AloA7IQ5jXMyn85Ngu.png”
}
]
END DOCS ASSET MAP →
