Testes de aceitação falhando no Github Actions

Olá comunidade Discourse :wave:

Estou configurando um novo plugin baseado no esqueleto que vocês forneceram, o qual já me ajudou muito.

Estou agora escrevendo testes, tanto para o frontend quanto para o backend. Tudo funciona como esperado no ambiente de desenvolvimento do Discourse, incluindo testes de aceitação que funcionam perfeitamente.

Meu arquivo de fluxo de trabalho é tão simples quanto:

name: Discourse Projects Plugin - CI

on:
  push:
    branches: [ main ]

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

Mas quando tento executar o fluxo de trabalho no Github Actions, recebo um erro curioso na etapa 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

Além disso, não recebo nenhum detalhe, mesmo executando o fluxo de trabalho novamente com logs de depuração. Todas as outras etapas no fluxo de trabalho são feitas corretamente (linters, rspec, etc.).

Portanto, minhas perguntas são simples:

  • O runner gratuito do Github é suficiente para executar a etapa de aceitação?
  • Alguma ideia de como posso solucionar isso?

Tenho certeza de que estou fazendo algo errado em algum lugar, mas não tenho ideia de onde começar a procurar.

Obrigado pela sua ajuda e por todo o trabalho feito no Discourse!

5 curtidas

Olá Pierre! Concordamos que a experiência do desenvolvedor pode ser melhor em alguns aspectos e estou tentando descobrir como você encontrou esse problema e o que podemos fazer para ajudá-lo e a futuros desenvolvedores a ter uma experiência mais agradável.

Como você executa os testes de aceitação localmente?

Você definiu algum teste no diretório test/javascripts?

5 curtidas

Olá @nbianca, obrigado pela sua resposta!

Eu executo os testes de aceitação localmente através da página Qunit em http://localhost:4200/tests:

Como você pode ver, já existem alguns testes em test/javascripts.

2 curtidas

Na verdade, sua pergunta me levou a tentar entender por que ele estava detectando que não havia testes. Então, verifiquei o fluxo de trabalho que você fornece e vejo que o Qunit é executado com o “PLUGIN_NAME”, que é preenchido com o nome do repositório.

No meu caso, o nome do repositório é diferente do nome do plugin. Há até um aviso sobre isso nos logs do trabalho. Vou tentar renomear o repositório de acordo e manterei você informado :slight_smile:

3 curtidas

Posso confirmar que usar o mesmo nome para o repositório e o plugin resolveu o problema.

Obrigado @nbianca pela ajuda!

7 curtidas

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