Tests d'acceptation échouent sur Github Actions

Bonjour communauté Discourse :wave:

Je mets en place un nouveau plugin basé sur le squelette que vous avez fourni et qui m’a déjà beaucoup aidé.

J’écris maintenant des tests, à la fois pour le frontend et le backend. Tout fonctionne comme prévu dans l’environnement de développement Discourse, y compris les tests d’acceptation qui fonctionnent à merveille.

Mon fichier de workflow est aussi simple que :

name: Discourse Projects Plugin - CI

on:
  push:
    branches: [ main ]

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

Mais lorsque j’essaie d’exécuter le workflow sur Github Actions, je reçois une erreur curieuse dans l’étape 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

En dehors de cela, je n’obtiens aucun détail, même en exécutant le workflow à nouveau avec la journalisation de débogage. Toutes les autres étapes du workflow sont effectuées correctement (linters, rspec, etc.).

Mes questions sont donc simples :

  • Le runner Github gratuit est-il suffisant pour exécuter l’étape d’acceptation ?
  • Avez-vous une idée de la façon dont je peux résoudre ce problème ?

Je suis certain de faire quelque chose de mal quelque part, mais je n’ai aucune idée par où commencer à chercher.

Merci pour votre aide et pour tout le travail accompli sur Discourse !

5 « J'aime »

Bonjour Pierre ! Nous sommes d’accord que l’expérience développeur peut être améliorée sur certains aspects et j’essaie de comprendre comment vous avez rencontré ce problème et ce que nous pouvons faire pour vous et les futurs développeurs afin de leur offrir une expérience plus agréable.

Comment exécutez-vous les tests d’acceptation localement ?

Avez-vous défini des tests dans le répertoire test/javascripts ?

5 « J'aime »

Salut @nbianca, merci pour ta réponse !

J’exécute les tests d’acceptation localement via la page Qunit sur http://localhost:4200/tests :

Comme tu peux le voir, il y a déjà quelques tests dans test/javascripts.

2 « J'aime »

En fait, votre question m’a amené à essayer de comprendre pourquoi il ne détectait aucun test. J’ai donc vérifié le workflow que vous fournissez et je vois que Qunit est exécuté avec le « PLUGIN_NAME » qui est rempli avec le nom du dépôt.

Dans mon cas, le nom du dépôt est différent du nom du plugin. Il y a même un avertissement à ce sujet dans les logs du job. Je vais essayer de renommer le dépôt en conséquence et je vous tiendrai au courant :slight_smile:

3 « J'aime »

Je peux confirmer qu’utiliser le même nom pour le dépôt et le plugin a fonctionné.

Merci @nbianca pour votre aide !

7 « J'aime »

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