Kategorie: Continuous Integration

GitHub-Actions: Coverage-Badge ohne 3rd-Party-Service mittels Gist erstellen

Für mein aktuelles GitHub-Projekt secbootctl wollte ich den Code-Coverage-Status mittels Badge von Shields.io in der README.md anzeigen lassen. Leider bietet GitHub-Actions so eine Funktion nicht "out-of-the-box" an. Anscheinend hat es sich etabliert dafür Third-Party-Services, wie z.B. Codecov, zu verwenden, um Coverage-Badges zu erstellen und diese dann im eigenen GitHub-Repository einbinden zu können.

Da ich es bevorzuge auf unnötige bzw. zusätzliche Services zu verzichten, habe ich etwas recherchiert und bin auf eine vielversprechende Lösung gestoßen: Mithilfe der GitHub-Action Dynamic Badges Action können die benötigten Coverage-Daten im Rahmen eines GitHub-Actions-Workflow im JSON-Format in einem GitHub-Gist gespeichert werden. Mit diesen JSON-Daten kann dann wiederum die Shields.io-API angesprochen werden und die so generierte Badge in der eigenen README.md eingebunden werden.

Weiterlesen