Diese GitHub Action liefert eine GitHub Badge als Indikator dafür, wie viele Features bereits auf Staging, aber noch nicht auf Production aktiv sind.
Die Badge wird standardmäßig in die README.md eines Projekts eingefügt, es kann aber auch ein anderer Dateipfad angegeben werden.
Ein Klick auf die Badge führt zu einer Übersicht der Workflows, die auf main
gelaufen sind. Dabei sieht man dann auf einen Blick, wie viele Deployment Updates es seit der letzten Promotion gab.
Die Feature Badge Action kann genutzt werden, um die Differenz der Features entweder hochzuzählen oder zurückzusetzen.
Es empfiehlt sich, das Hochzählen an ein Deployment Update zu koppeln und das Zurücksetzen an eine Promotion nach Production.
Es gibt drei verschiedene Zustände, die durch Badges dargestellt werden:
- : Staging und Production sind auf dem gleichen Stand.
- : Es gibt ein Deployment Update, welches noch nicht promoted wurde.
- : Es gibt mehr als ein Deployment Update, welches noch nicht promoted wurde.
Es können vier Inputs definiert werden:
- method (optional):
- Entweder
bump
, um die Differenz hochzuzählen oderreset
, um die Differenz zurückzusetzen. Default:bump
.
- Entweder
- file_path (optional):
- Der Pfad zu der Datei, in die die Badge eingefügt werden soll. Default:
README.md
.
- Der Pfad zu der Datei, in die die Badge eingefügt werden soll. Default:
- project_name:
- Der Name des Projekts, in dem die Action genutzt wird. Wird benötigt, um den Link der Badge richtig zu setzen. Kann generisch über Umgebungsvariablen der aufrufenden GitHub Action gesetzt werden:
${{ github.event.repository.name }}
.
- Der Name des Projekts, in dem die Action genutzt wird. Wird benötigt, um den Link der Badge richtig zu setzen. Kann generisch über Umgebungsvariablen der aufrufenden GitHub Action gesetzt werden:
- branch_name (optional):
- Hier kann ein Branch angegeben werden, in dem die Badge gesetzt werden soll. Diese Funktion ist hauptsächlich für das Ausprobieren der Action gedacht. Default:
main
.
- Hier kann ein Branch angegeben werden, in dem die Badge gesetzt werden soll. Diese Funktion ist hauptsächlich für das Ausprobieren der Action gedacht. Default:
Hochzählen der Differenz:
jobs:
<job_name>:
name: <name>
needs: <deployment update>
runs-on: zon-ubuntu-general-dind
steps:
- uses: ZeitOnline/gh-action-feature-badge@main
with:
project_name: ${{ github.event.repository.name }}
Zurücksetzen der Differenz:
jobs:
<job_name>:
name: <name>
needs: <promotion to production>
runs-on: zon-ubuntu-general-dind
steps:
- uses: ZeitOnline/gh-action-feature-badge@main
with:
project_name: ${{ github.event.repository.name }}
method: reset