@@ -182,29 +182,27 @@ jobs:
182182 - name : Checkout repository
183183 uses : actions/checkout@v4
184184 with :
185- fetch-depth : 0 # Full commit history
185+ fetch-depth : 0
186186
187187 - name : Generate Changelog
188188 id : changelog
189189 run : |
190190 echo "Generating changelog..."
191-
192- # Preserved your original git fetch with safety
193- git fetch --prune || true
194-
195191 CHANGELOG=$(git log --pretty=format:"- %s (%h) by %an" -n 10)
196- echo "$CHANGELOG" > changelog.txt
192+ echo "Raw changelog content:"
193+ echo "$CHANGELOG"
197194
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')
200197
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
203203
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
208206
209207 - name : Upload Changelog as artifact
210208 uses : actions/upload-artifact@v4
0 commit comments