2025-03-01 20:20:41 +01:00
|
|
|
name: Create Daily Release
|
2024-11-23 20:24:56 +01:00
|
|
|
|
|
|
|
on:
|
|
|
|
schedule:
|
2025-03-01 20:20:41 +01:00
|
|
|
- cron: '1 0 * * *' # Runs daily at 00:01 UTC
|
2025-03-01 13:10:23 +01:00
|
|
|
workflow_dispatch:
|
2024-11-23 20:24:56 +01:00
|
|
|
|
|
|
|
jobs:
|
2025-03-01 20:20:41 +01:00
|
|
|
create-daily-release:
|
2025-02-28 15:15:29 +01:00
|
|
|
runs-on: runner-cluster-htl-set
|
2024-11-23 20:24:56 +01:00
|
|
|
permissions:
|
|
|
|
contents: write
|
|
|
|
steps:
|
2025-03-01 20:20:41 +01:00
|
|
|
- name: Checkout repository
|
2024-11-23 20:24:56 +01:00
|
|
|
uses: actions/checkout@v4
|
2025-03-01 13:10:23 +01:00
|
|
|
|
2025-03-01 20:20:41 +01:00
|
|
|
- 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
|
2024-11-23 20:24:56 +01:00
|
|
|
env:
|
|
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
run: |
|
|
|
|
YESTERDAY=$(date -u --date="yesterday" +%Y-%m-%d)
|
2025-03-01 20:20:41 +01:00
|
|
|
echo "Checking for changes on: $YESTERDAY"
|
2025-03-01 13:10:23 +01:00
|
|
|
|
2025-03-01 20:20:41 +01:00
|
|
|
# Ensure yesterday's date exists in the changelog
|
|
|
|
if ! grep -q "## $YESTERDAY" changelog_cropped.md; then
|
|
|
|
echo "No entry found for $YESTERDAY, skipping release."
|
|
|
|
exit 0
|
|
|
|
fi
|
2025-03-01 13:28:57 +01:00
|
|
|
|
2025-03-01 20:20:41 +01:00
|
|
|
# Extract section for yesterday's date
|
2025-03-01 13:10:23 +01:00
|
|
|
awk -v date="## $YESTERDAY" '
|
2025-03-01 20:20:41 +01:00
|
|
|
$0 ~ date {found=1; next}
|
|
|
|
found && /^## [0-9]{4}-[0-9]{2}-[0-9]{2}/ {exit}
|
2025-03-01 13:28:57 +01:00
|
|
|
found
|
|
|
|
' changelog_cropped.md > changelog_tmp.md
|
2025-03-01 13:10:23 +01:00
|
|
|
|
2025-03-01 13:23:44 +01:00
|
|
|
echo "=== Extracted Changelog ==="
|
|
|
|
cat changelog_tmp.md
|
|
|
|
echo "==========================="
|
2025-03-01 13:20:05 +01:00
|
|
|
|
2025-03-01 20:20:41 +01:00
|
|
|
# Skip if no content was found
|
2025-03-01 13:10:23 +01:00
|
|
|
if [ ! -s changelog_tmp.md ]; then
|
|
|
|
echo "No changes found for $YESTERDAY, skipping release."
|
|
|
|
exit 0
|
2025-03-01 10:29:07 +01:00
|
|
|
fi
|
2025-03-01 13:10:23 +01:00
|
|
|
|
2025-03-01 20:20:41 +01:00
|
|
|
# Create GitHub release
|
|
|
|
gh release create "$YESTERDAY" -t "$YESTERDAY" -F changelog_tmp.md
|