[RUBY] Ich habe eine GitHub-Aktion erstellt, die es einfach macht, das Ausführungsergebnis von RSpec zu verstehen

Einführung

Ich habe GitHub Actions kürzlich als CI / CD-Dienst verwendet, war jedoch unzufrieden mit der Tatsache, dass es schwierig war, das Ausführungsergebnis zu verstehen, wenn RSpec im Vergleich zu CircleCI fehlschlug. Einführung der folgenden GitHub-Aktion des internen Hackathons, um solchen Stress abzubauen.

RSpec Report · Actions · GitHub Marketplace · GitHub

Was kann ich tun?

Im Falle eines PR-Ereignisses wird das Fehlerergebnis kommentiert. Durch Kommentieren wird derselbe Inhalt auch per E-Mail benachrichtigt, sodass Sie den Inhalt des fehlgeschlagenen Tests verstehen können, ohne auf GitHub zugreifen zu müssen.

a23798fbb2f0e6454bf75a0e09034eb8.png

Abgesehen von PR-Ereignissen werden Sie über die Checks-API benachrichtigt.

0d3c61f6ecc3354a9734eb2b30a82211.png

Wie benutzt man

test.yml


name: Build
on:
  pull_request:

jobs:
  rspec:
    steps:
      #Vorbereitungen für die RSpec-Ausführung entfallen.
      
      - name: Test
        run: bundle exec rspec -f j -o tmp/rspec_results.json -f p

      - name: RSpec Report
        uses: SonicGarden/rspec-report-action@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          json-path: tmp/rspec_results.json
        if: always()

Andere

Punkt

with:
  token: ${{ secrets.GITHUB_TOKEN }}
  json-path: tmp/rspec_results.json
  title: "# :cold_sweat: RSpec failure ${{ matrix.ci_node_index }}"

Repository

GitHub - SonicGarden/rspec-report-action: A GitHub Action that report RSpec failure.

Bitte benutzen Sie es, wenn Sie möchten.

Recommended Posts

Ich habe eine GitHub-Aktion erstellt, die es einfach macht, das Ausführungsergebnis von RSpec zu verstehen
Ich habe ein Juwel gemacht, um den Text des Org-Modus in Qiita zu posten
Ich habe ein Tool erstellt, um den Unterschied zwischen CSV-Dateien auszugeben
Eine Geschichte, die es so einfach wie möglich machte, den Vorgang beim automatischen Erstellen eines PR für Bibliotheksaktualisierungen mit Github Dependabot zu überprüfen
Erstellt eine Bibliothek, die die Handhabung von freigegebenen Android-Einstellungen erleichtert
[Objektorientiert] Ein Memorandum, das Null zum besten macht [Site-Zusammenfassung, die zum Verständnis des Konzepts beigetragen hat]
Eine Seite, die leicht zu verstehen war, als ich anfing, Spring Boot zu lernen
Eine Lösung, die es einfach macht, Vor- und Nachteile sowie Webtests einzugeben, um die Ergebnisse zu überprüfen
Ich habe eine Antwortfunktion für die Erweiterung Rails Tutorial (Teil 4) erstellt: Eine Funktion, die den Benutzer einzigartig macht
Ich habe JAX-RS ausprobiert und mir das Verfahren notiert
[Aktionsansicht :: Fehlende Vorlage] Ich habe die Bedeutung der Fehleranweisung nicht verstanden und sie nachgeschlagen.
Kennen Sie jetzt die Bequemlichkeit von Docker (-compose) (Informationsliste, auf die ich bei der Verwendung verwiesen habe)
Ich habe versucht, die Ergebnisse vor und nach der Date-Klasse mit einer geraden Zahl auszudrücken
Ich möchte den Ablauf der Spring-Verarbeitungsanforderungsparameter verstehen
Die Geschichte von Collectors.groupingBy, die ich für die Nachwelt behalten möchte
So identifizieren Sie den Pfad, auf dem leicht Fehler gemacht werden können
Die Geschichte, ein Projekt zu bauen, das Maven mit Ant gebaut hat
Eine Geschichte, der ich mit der automatischen Starteinstellung von Tomcat 8 unter CentOS 8 zweimal verfallen war
Eine Geschichte, die ich mit der Stream-API von Java8 einem Prozess schreiben wollte, der einer while-Anweisung entspricht
Ein Memo, das nüchtern von der Anfrage nach mehrteiligen / Formulardaten abhängig war
Denken Sie an Testcode, der durch den Komparator-Test leicht zu verstehen ist
Es war ein Leben, in dem ich den thread-sicheren assoziativen Zähler zurücksetzen wollte
Ich werde die verdammte App enthüllen, die ich mir schwer gemacht habe, einen Job als Ingenieur von Unerfahrenen zu bekommen.
Ich wollte eine Diashow des Hintergrundbilds erstellen, da das Bild des Sperrbildschirms von Windows 10 wunderschön ist
Was ich versucht habe, als ich alle Felder einer Bohne bekommen wollte
Stellen Sie sich RxJava als eine Bibliothek vor, die das Schreiben von asynchroner Verarbeitung erleichtert
Ich war ein wenig süchtig nach dem S3-Prüfsummenvergleich, machen Sie sich also eine Notiz.
Ich habe ein Beispiel erstellt, wie ein Delegat in Swift UI 2.0 mit MapKit geschrieben wird
Ich habe es geschafft, ein Leerzeichen zu bekommen, als ich den Inhalt von Beans in den Textbereich gebracht habe
Ich möchte rekursiv die Oberklasse und die Schnittstelle einer bestimmten Klasse erhalten
Ich suchte nach einem leichten Framework, das das plötzliche "schnell machen" beantworten würde.
Ich möchte die MD5-Prüfsumme einer Datei in Java finden und das Ergebnis als Zeichenfolge in hexadezimaler Notation erhalten.