From ea3a37559a73b70b542cdcec31574b521d792c9c Mon Sep 17 00:00:00 2001 From: thibaud-lclr Date: Wed, 13 May 2026 11:18:27 +0200 Subject: [PATCH] ci(release): remplacer le script Python par sed/awk Co-Authored-By: Claude Sonnet 4.6 --- .forgejo/workflows/release.yml | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 4572a44..e298d13 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -45,23 +45,17 @@ jobs: echo "Pre-release tag — CHANGELOG.md non modifié" ;; *) - cat > /tmp/update_changelog.py << 'PYEOF' - import os + # Rename [Unreleased] → version header + sed -i "s/^## \[Unreleased\]$/## [${current_tag}] — ${today}/" CHANGELOG.md - version = os.environ['VERSION'] - today = os.environ['TODAY'] + # Insert new empty [Unreleased] section after "# Changelog" + sed -i "s/^# Changelog$/# Changelog\n\n## [Unreleased]/" CHANGELOG.md - with open('CHANGELOG.md', 'r') as f: - content = f.read() - - content = content.replace('## [Unreleased]', f'## [{version}] — {today}', 1) - content = content.replace('# Changelog\n', '# Changelog\n\n## [Unreleased]\n', 1) - - with open('CHANGELOG.md', 'w') as f: - f.write(content) - PYEOF - - VERSION="${current_tag}" TODAY="${today}" python3 /tmp/update_changelog.py + # Insert reference link before the first existing [vX...] link + awk -v tag="${current_tag}" -v url="${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/releases/tag/${current_tag}" ' + !inserted && /^\[v/ { print "[" tag "]: " url; inserted=1 } + { print } + ' CHANGELOG.md > CHANGELOG.tmp && mv CHANGELOG.tmp CHANGELOG.md git config user.name "CI" git config user.email "ci@forge.lclr.dev"