Skip to content

Commit 6305aab

Browse files
Merge pull request #39 from Githubguy132010/dev
Enhance GitHub Actions workflow to automate release notes generation.
2 parents be0f850 + 974e17f commit 6305aab

File tree

1 file changed

+51
-13
lines changed

1 file changed

+51
-13
lines changed

.github/workflows/build.yaml

Lines changed: 51 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,56 @@ jobs:
133133
done
134134
"
135135
136+
- name: Generate Release Notes
137+
id: release_notes
138+
run: |
139+
# Create a temporary file for release notes
140+
TEMP_RELEASE_NOTES=$(mktemp)
141+
142+
docker exec arch-container bash -c "
143+
set -euo pipefail
144+
cd /workdir
145+
146+
# Initialize release notes
147+
{
148+
echo '🚀 Arch Linux ISO without system beeps (build ${{ env.DATE }})'
149+
echo ''
150+
echo '### Changes'
151+
152+
# Get changes since last release
153+
if git tag | grep -q .; then
154+
LAST_TAG=\$(git describe --tags --abbrev=0 2>/dev/null || echo '')
155+
if [ ! -z \"\$LAST_TAG\" ]; then
156+
echo '#### Commits since last release:'
157+
git log \"\$LAST_TAG\"..HEAD --pretty=format:'- %s' | grep -v 'Merge'
158+
echo ''
159+
fi
160+
fi
161+
162+
# Add standard information
163+
echo '### Features'
164+
echo '- Automatic daily build'
165+
echo '- System beeps disabled'
166+
echo '- ISO SHA256 and SHA512 checksums included'
167+
echo ''
168+
echo '### Download'
169+
echo '- Download the ISO and verify checksums before use'
170+
echo ''
171+
echo '### Checksums'
172+
echo 'SHA256 and SHA512 checksums are available in the uploaded files.'
173+
} > /tmp/release_notes
174+
"
175+
176+
# Copy release notes from container to host
177+
docker cp arch-container:/tmp/release_notes $TEMP_RELEASE_NOTES
178+
179+
# Set the release notes in GITHUB_ENV
180+
echo 'RELEASE_NOTES<<EOF' >> $GITHUB_ENV
181+
cat $TEMP_RELEASE_NOTES >> $GITHUB_ENV
182+
echo 'EOF' >> $GITHUB_ENV
183+
184+
# Cleanup
185+
rm -f $TEMP_RELEASE_NOTES
136186
137187
- name: Create Release
138188
id: create_release
@@ -141,19 +191,7 @@ jobs:
141191
with:
142192
tag_name: v${{ env.VERSION }}
143193
name: "Arch Linux No Beeps v${{ env.VERSION }}"
144-
body: |
145-
🚀 Arch Linux ISO without system beeps (build ${{ env.DATE }})
146-
147-
### Changes
148-
- Automatic daily build
149-
- System beeps disabled
150-
- ISO SHA256 and SHA512 checksums added
151-
152-
### Download
153-
- Download the ISO and verify checksums before use
154-
155-
### Checksums
156-
SHA256 and SHA512 checksums are available in the uploaded files.
194+
body: ${{ env.RELEASE_NOTES }}
157195
draft: false
158196
prerelease: false
159197
files: |

0 commit comments

Comments
 (0)