@@ -120,19 +120,16 @@ jobs:
120120 echo "" >> /tmp/changelog_entry.md
121121 fi
122122
123- # Insert after [Unreleased] section using python for reliability
124- python3 -c "
125- import re, sys
126- entry = open('/tmp/changelog_entry.md').read()
127- content = open('CHANGELOG.md').read()
128- # Insert before the first ## [x.y.z] line (after [Unreleased] content)
129- pattern = r'(## \[Unreleased\].*?\n(?:.*?\n)*?)\n(## \[)'
130- replacement = r'\1\n' + entry + r'\2'
131- result = re.sub(pattern, replacement, content, count=1)
132- # Update unreleased link
133- result = re.sub(r'\[Unreleased\] : .*', '[Unreleased]: https://github.com/Mes-Open/OpenMes/compare/${VERSION}...develop', result)
134- open('CHANGELOG.md', 'w').write(result)
135- " || echo " CHANGELOG update skipped"
123+ # Insert new version entry after [Unreleased] section
124+ FIRST_VERSION_LINE=$(grep -n "^## \[0\." CHANGELOG.md | head -1 | cut -d: -f1)
125+ if [ -n "$FIRST_VERSION_LINE" ]; then
126+ head -n $((FIRST_VERSION_LINE - 1)) CHANGELOG.md > /tmp/changelog_top.md
127+ echo "" >> /tmp/changelog_top.md
128+ cat /tmp/changelog_entry.md >> /tmp/changelog_top.md
129+ tail -n +${FIRST_VERSION_LINE} CHANGELOG.md >> /tmp/changelog_top.md
130+ mv /tmp/changelog_top.md CHANGELOG.md
131+ fi
132+ sed -i "s|\[Unreleased\]: .*|[Unreleased]: https://github.com/Mes-Open/OpenMes/compare/${VERSION}...develop|" CHANGELOG.md
136133
137134 git add CHANGELOG.md
138135 fi
0 commit comments