update readme #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Create Release | |
# Erstellt ein Release bei einem Push mit Tag | |
# Prüft ob die Version im Code und in der changeNew.md mit dem Tag übereinstimmen | |
# liest die changeNew.md und nutzt diese als Beschreibung für das Release | |
# upload aller Files aus ./release/ als Assets im Release | |
on: | |
workflow_dispatch: # Ermöglicht das manuelle Anstoßen des Workflows | |
push: | |
tags: | |
- 'v*.*.*' | |
jobs: | |
create_release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Extract version from header file | |
id: extract_version | |
run: | | |
# Liest die Version aus der Header-Datei aus und entfernt Anführungszeichen | |
VERSION=$(grep '#define VERSION' ./include/config.h | awk '{print $3}' | tr -d '"') | |
echo "Extracted version: $VERSION" | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
- name: Check if version matches tag | |
id: check_version | |
run: | | |
echo "Current tag: ${{ github.ref_name }}" | |
echo "Project version: $VERSION" | |
if [ "$VERSION" != "${{ github.ref_name }}" ]; then | |
echo "Version mismatch: $VERSION does not match tag ${{ github.ref_name }}" | |
exit 1 | |
fi | |
- name: Check changelog header and prepare release notes | |
id: check_changelog | |
run: | | |
# Lese die erste Zeile der changeNew.md und vergleiche sie mit dem Tag | |
header=$(grep -m 1 . changeNew.md | sed 's/^# //') | |
echo "Changelog header: $header" | |
if [[ "$header" != "$VERSION" ]]; then | |
echo "Changelog header $header does not match the tag $VERSION" | |
exit 1 | |
fi | |
# Entferne die erste Zeile und speichere den Rest in einer temporären Datei | |
tail -n +2 changeNew.md > release_notes.md | |
shell: bash | |
- name: Create release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
tag: ${{ github.ref_name }} | |
run: | | |
# Erstelle die Release-Dateien-Variable | |
files=$(ls ./release/*) | |
# Erstelle das Release und lade die Assets hoch | |
gh release create "$tag" $files \ | |
--repo="$GITHUB_REPOSITORY" \ | |
--title="${tag}" \ | |
-F release_notes.md | |
- name: Clean up | |
run: rm release_notes.md | |