Update github-release.yml
Some checks are pending
Auto Update .app-files / update-app-files (push) Waiting to run
Shellcheck / Shellcheck (push) Waiting to run
Create Changelog Pull Request / update-changelog-pull-request (push) Waiting to run

This commit is contained in:
CanbiZ 2025-03-01 20:20:41 +01:00 committed by GitHub
parent 134741f681
commit 53b30e5f15
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,33 +1,45 @@
name: Create new release name: Create Daily Release
on: on:
schedule: schedule:
- cron: '1 0 * * *' # Runs nightly - cron: '1 0 * * *' # Runs daily at 00:01 UTC
workflow_dispatch: workflow_dispatch:
jobs: jobs:
create-new-release: create-daily-release:
runs-on: runner-cluster-htl-set runs-on: runner-cluster-htl-set
permissions: permissions:
contents: write contents: write
steps: steps:
- name: Checkout code - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Parse CHANGELOG.md for yesterday's entries and create a new release - name: Extract first 5000 characters from CHANGELOG.md
run: head -c 5000 CHANGELOG.md > changelog_cropped.md
- name: Debugging - Show extracted changelog
run: |
echo "=== CHANGELOG EXCERPT ==="
cat changelog_cropped.md
echo "========================="
- name: Parse CHANGELOG.md and create release
env: env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d) YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d)
echo "Checking for changes on: $YESTERDAY"
# Crop the changelog first (keep first 20,000 characters) # Ensure yesterday's date exists in the changelog
MAX_SIZE=20000 if ! grep -q "## $YESTERDAY" changelog_cropped.md; then
head -c "$MAX_SIZE" CHANGELOG.md > changelog_cropped.md echo "No entry found for $YESTERDAY, skipping release."
exit 0
fi
# Extract exactly the section for YESTERDAY, stopping at the next date # Extract section for yesterday's date
awk -v date="## $YESTERDAY" ' awk -v date="## $YESTERDAY" '
$0 ~ date {found=1} $0 ~ date {found=1; next}
found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ && $0 != date {exit} found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {exit}
found found
' changelog_cropped.md > changelog_tmp.md ' changelog_cropped.md > changelog_tmp.md
@ -35,10 +47,11 @@ jobs:
cat changelog_tmp.md cat changelog_tmp.md
echo "===========================" echo "==========================="
# Skip if no content was found
if [ ! -s changelog_tmp.md ]; then if [ ! -s changelog_tmp.md ]; then
echo "No changes found for $YESTERDAY, skipping release." echo "No changes found for $YESTERDAY, skipping release."
exit 0 exit 0
fi fi
echo "Creating GitHub release for $YESTERDAY..." # Create GitHub release
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md