david-loe / abrechnung

Reisekostenabrechnung inkl. automatischer Pauschalen Berechnung auch für internationale Reisen
GNU Affero General Public License v3.0
12 stars 2 forks source link

Add mirgation verification action #87

Closed david-loe closed 2 months ago

david-loe commented 3 months ago
      - name: Get previous tag name
        id: previous_tag
        run: echo "::set-output name=TAGNAME::$(git describe --abbrev=0 --tags $(git rev-list --tags --skip=1 --max-count=1))"

Diese GitHub Action hat das Ziel, den Namen des vorherigen Tags in einem Git-Repository zu ermitteln und ihn als Ausgabe (output) zur weiteren Verwendung in der Workflow-Pipeline zur Verfügung zu stellen.

Hier ist eine Erklärung für die einzelnen Teile der Action:

1. Name der Action:

   - name: Get previous tag name

Dies ist der Name, den die Action in der GitHub Actions Workflow-Datei hat. Es ist nur ein beschreibender Name und hat keinen Einfluss auf die Funktionalität.

2. ID der Action:

   id: previous_tag

Die ID der Action wird verwendet, um die Ausgaben (outputs) dieser Action in späteren Schritten des Workflows zu referenzieren. In diesem Fall ist die ID previous_tag.

3. Run:

   run: echo "::set-output name=TAGNAME::$(git describe --abbrev=0 --tags $(git rev-list --tags --skip=1 --max-count=1))"

Hier passiert der wichtigste Teil. Die Zeile führt einen Befehl auf der Shell (normalerweise Bash) aus und verwendet Git-Befehle, um den vorherigen Tag zu ermitteln.

Schauen wir uns die verschiedenen Teile des Befehls genauer an:

Ergebnis:

Nach dem Ausführen dieser Action wird der Name des vorherigen Tags als Ausgabe (output) mit dem Namen TAGNAME gespeichert. Diese Ausgabe kann dann in späteren Schritten des Workflows referenziert werden, z.B. mit ${{ steps.previous_tag.outputs.TAGNAME }}.

Beispiel für die Verwendung in einem späteren Schritt:

- name: Print previous tag
  run: echo "Previous tag was ${{ steps.previous_tag.outputs.TAGNAME }}"

Dieser Schritt würde dann den ermittelten vorherigen Tag ausgeben.