Test di accettazione falliscono su Github Actions

Ciao community di Discourse :wave:

Sto configurando un nuovo plugin basato sullo scheletro che avete fornito, il quale mi è già stato di grande aiuto.
Ora sto scrivendo i test, sia per il frontend che per il backend. Tutto funziona come previsto nell’ambiente di sviluppo di Discourse, inclusi i test di accettazione che funzionano alla perfezione.

Il mio file di workflow è molto semplice:

name: Discourse Projects Plugin - CI

on:
  push:
    branches: [ main ]

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

Ma quando provo a eseguire il workflow su Github Actions, ricevo un errore curioso nel passaggio 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

Oltre a questo, non ottengo alcun dettaglio, nemmeno quando eseguo nuovamente il workflow con il logging di debug. Tutti gli altri passaggi nel workflow vengono eseguiti correttamente (linters, rspec, ecc.).

Quindi le mie domande sono semplici:

  • Il runner gratuito di Github è sufficiente per eseguire il passaggio di accettazione?
  • Avete qualche idea su come posso risolvere questo problema?

Sono certo di star sbagliando qualcosa, ma non ho idea da dove iniziare a cercare.

Grazie per il vostro aiuto e per tutto il lavoro svolto su Discourse!

5 Mi Piace

Ciao Pierre! Siamo d’accordo che l’esperienza dello sviluppatore possa essere migliorata sotto alcuni aspetti e sto cercando di capire come ti sei imbattuto in questo problema e cosa possiamo fare per aiutarti e per garantire che gli sviluppatori futuri abbiano un’esperienza più piacevole.

Come esegui i test di accettazione localmente?

Hai definito dei test nella directory test/javascripts?

5 Mi Piace

Ciao @nbianca, grazie per la tua risposta!

Eseguo i test di accettazione localmente tramite la pagina Qunit su http://localhost:4200/tests:

Come puoi vedere, ci sono già alcuni test in test/javascripts.

2 Mi Piace

Infatti, la tua domanda mi ha portato a cercare di capire perché non rilevava alcun test. Ho quindi controllato il workflow che fornisci e vedo che Qunit viene eseguito con il nome del repository "PLUGIN_NAME".

Nel mio caso, il nome del repository è diverso dal nome del plugin. C’è persino un avviso a riguardo nei log del job. Proverò a rinominare il repository di conseguenza e ti terrò aggiornato :slight_smile:

3 Mi Piace

Confermo che usare lo stesso nome per il repository e il plugin ha funzionato.

Grazie @nbianca per il tuo aiuto!

7 Mi Piace

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