Pruebas de aceptación fallan en Github Actions

Hola comunidad de Discourse :wave:

Estoy configurando un nuevo plugin basado en el esqueleto que proporcionaron y que ya me ha ayudado mucho.
Ahora estoy escribiendo pruebas, tanto para el frontend como para el backend. Todo funciona como se espera en el entorno de desarrollo de Discourse, incluidas las pruebas de aceptación que funcionan a la perfección.

Mi archivo de flujo de trabajo es tan simple como:

name: Discourse Projects Plugin - CI

on:
  push:
    branches: [ main ]

jobs:
  discourse:
    uses: discourse/.github/.github/workflows/discourse-plugin.yml@v1

Pero cuando intento ejecutar el flujo de trabajo en Github Actions, obtengo un error curioso en el paso frontend_tests / Plugin QUnit:

Built project successfully. Stored in "/tmp/tests-dist-20231022-6082-zjfckn.1g5q".
not ok 1 Chrome 119.0 - [180 ms] - global failure
    ---
        stack: >
            Error: No tests were run.
                at done (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108653:17)
                at advanceTestQueue (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108565:7)
                at Object.advance (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:108520:7)
                at unblockAndAdvanceQueue (http://localhost:7357/assets/chunk.74084cb2759545d0c671.js:110490:21)
        message: >
            No tests were run.
        negative: >
            false
        browser log: |
            {"type":"log","text":"ℹ️ Ember v3.28.12"}
    ...
Out of requested 1 browser(s), 1 browser(s) was launched & completed.
All browsers to exited.
Used JS Heap Size: 0.073GB

Aparte de eso, no obtengo ningún detalle, incluso cuando ejecuto el flujo de trabajo nuevamente con el registro de depuración. Todos los demás pasos en el flujo de trabajo se completan correctamente (linters, rspec, etc.).

Así que mis preguntas son simples:

  • ¿Es el runner gratuito de Github suficiente para ejecutar el paso de aceptación?
  • ¿Alguna idea de cómo puedo solucionar esto?

Estoy seguro de que estoy haciendo algo mal en alguna parte, pero no tengo idea de por dónde empezar a buscar.

¡Gracias por tu ayuda y todo el trabajo realizado en Discourse!

5 Me gusta

¡Hola Pierre! Estamos de acuerdo en que la experiencia del desarrollador puede mejorar en algunos aspectos y estoy tratando de averiguar cómo te encontraste con este problema y qué podemos hacer para ayudarte a ti y a los futuros desarrolladores a tener una experiencia más agradable.

¿Cómo ejecutas las pruebas de aceptación localmente?

¿Has definido alguna prueba en el directorio test/javascripts?

5 Me gusta

Hola @nbianca, ¡gracias por tu respuesta!

Ejecuto las pruebas de aceptación localmente a través de la página Qunit en http://localhost:4200/tests:

Como puedes ver, ya hay algunas pruebas en test/javascripts.

2 Me gusta

De hecho, tu pregunta me llevó a intentar entender por qué no detectaba ninguna prueba. Así que revisé el flujo de trabajo que proporcionas y veo que Qunit se ejecuta con el “PLUGIN_NAME”, que se rellena con el nombre del repositorio.

En mi caso, el nombre del repositorio es diferente del nombre del plugin. Incluso hay una advertencia sobre esto en los registros del trabajo. Voy a intentar renombrar el repositorio en consecuencia y te mantendré informado :slight_smile:

3 Me gusta

Confirmo que usar el mismo nombre para el repositorio y el plugin funcionó.

¡Gracias @nbianca por tu ayuda!

7 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.