@@ -182,29 +182,27 @@ jobs:
182
182
- name : Checkout repository
183
183
uses : actions/checkout@v4
184
184
with :
185
- fetch-depth : 0 # Full commit history
185
+ fetch-depth : 0
186
186
187
187
- name : Generate Changelog
188
188
id : changelog
189
189
run : |
190
190
echo "Generating changelog..."
191
-
192
- # Preserved your original git fetch with safety
193
- git fetch --prune || true
194
-
195
191
CHANGELOG=$(git log --pretty=format:"- %s (%h) by %an" -n 10)
196
- echo "$CHANGELOG" > changelog.txt
192
+ echo "Raw changelog content:"
193
+ echo "$CHANGELOG"
197
194
198
- echo "Changelog content:"
199
- cat changelog.txt
195
+ # Properly escape content and format for GitHub output
196
+ CHANGELOG_ESCAPED=$(echo "$CHANGELOG" | sed 's/"/\\"/g' | sed ':a;N;$!ba;s/\n/\\n/g')
200
197
201
- # Critical fix for output formatting
202
- CHANGELOG_ESCAPED=$(echo "$CHANGELOG" | sed 's/"/\\"/g' | tr -d '\r')
198
+ # Create multiline output using delimiter
199
+ delimiter=$(openssl rand -hex 8)
200
+ echo "CHANGELOG<<${delimiter}" >> $GITHUB_OUTPUT
201
+ echo "$CHANGELOG" >> $GITHUB_OUTPUT
202
+ echo "${delimiter}" >> $GITHUB_OUTPUT
203
203
204
- echo "CHANGELOG=$CHANGELOG_ESCAPED" >> $GITHUB_OUTPUT
205
- echo "CHANGELOG<<EOF" >> $GITHUB_ENV
206
- echo "$CHANGELOG_ESCAPED" >> $GITHUB_ENV
207
- echo "EOF" >> $GITHUB_ENV
204
+ # Create file version
205
+ echo "$CHANGELOG" > changelog.txt
208
206
209
207
- name : Upload Changelog as artifact
210
208
uses : actions/upload-artifact@v4
0 commit comments