Ich richte ein neues Plugin auf Basis des von Ihnen bereitgestellten Skeletts ein, das mir bereits sehr geholfen hat.
Ich schreibe jetzt Tests, sowohl für das Frontend als auch für das Backend. Alles funktioniert wie erwartet in der Discourse-Entwicklungsumgebung, einschließlich der Akzeptanztests, die wie am Schnürchen laufen.
Meine Workflow-Datei ist denkbar einfach:
name: Discourse Projects Plugin - CI
on:
push:
branches: [ main ]
jobs:
discourse:
uses: discourse/.github/.github/workflows/discourse-plugin.yml@v1
Aber wenn ich versuche, den Workflow auf Github Actions auszuführen, erhalte ich einen seltsamen Fehler im Schritt 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
Abgesehen davon erhalte ich keine weiteren Details, selbst wenn ich den Workflow mit Debug-Logging erneut ausführe. Alle anderen Schritte im Workflow werden korrekt ausgeführt (Linters, RSpec usw.).
Meine Fragen sind daher einfach:
Reicht der kostenlose Github Runner aus, um den Akzeptanzschritt auszuführen?
Haben Sie eine Idee, wie ich das beheben kann?
Ich bin sicher, dass ich irgendwo etwas falsch mache, aber ich habe keine Ahnung, wo ich anfangen soll zu suchen.
Vielen Dank für Ihre Hilfe und all die Arbeit, die Sie in Discourse stecken!
Hallo Pierre! Wir stimmen zu, dass die Entwicklererfahrung in einigen Aspekten besser sein kann, und ich versuche herauszufinden, wie Sie auf dieses Problem gestoßen sind und was wir tun können, um Ihnen und zukünftigen Entwicklern eine angenehmere Erfahrung zu ermöglichen.
Wie führen Sie die Akzeptanztests lokal aus?
Haben Sie Tests im Verzeichnis test/javascripts definiert?
Tatsächlich hat mich Ihre Frage dazu veranlasst zu versuchen zu verstehen, warum keine Tests erkannt wurden. Ich habe also den Workflow überprüft, den Sie bereitstellen, und sehe, dass Qunit mit dem "PLUGIN_NAME" ausgeführt wird, der mit dem Repository-Namen gefüllt ist.
In meinem Fall unterscheidet sich der Repository-Name vom Plugin-Namen. Es gibt sogar eine Warnung diesbezüglich in den Job-Protokollen. Ich werde versuchen, das Repository entsprechend umzubenennen und halte Sie auf dem Laufenden