Skip to content

extend internal check if cc1101 is connected to avoid infinite-loop #2 #3

extend internal check if cc1101 is connected to avoid infinite-loop #2

extend internal check if cc1101 is connected to avoid infinite-loop #2 #3

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