Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Use argparse in rollback_changelog.py
  • Loading branch information
mbg committed Aug 29, 2025
commit 43d629cdfd9a8e4ac201aeb0d9330b2eaf0f8699
5 changes: 4 additions & 1 deletion .github/workflows/rollback-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,10 @@ jobs:
LATEST_TAG: ${{ needs.prepare.outputs.latest_tag }}
VERSION: "${{ needs.prepare.outputs.version }}"
run: |
python .github/workflows/script/rollback_changelog.py "${ROLLBACK_TAG:1}" "${LATEST_TAG:1}" "$VERSION" > $NEW_CHANGELOG
python .github/workflows/script/rollback_changelog.py \
--target-version "${ROLLBACK_TAG:1}" \
--rollback-version "${LATEST_TAG:1}" \
--new-version "$VERSION" > $NEW_CHANGELOG

echo "::group::New CHANGELOG"
cat $NEW_CHANGELOG
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/script/rollback_changelog.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import datetime
import os
import sys
import argparse

EMPTY_CHANGELOG = """# CodeQL Action Changelog

Expand Down Expand Up @@ -52,11 +52,11 @@ def update_changelog(target_version, rollback_version, new_version):
# - rollback_version: the version that we are rolling back, typically the one that followed `target_version`
# - new_version: the new version that we are releasing `target_version` as, typically the one that follows `rollback_version`
#
# Example: python3 .github/workflows/script/rollback_changelog.py "1.2.3" "1.2.4" "1.2.5"
if len(sys.argv) < 4:
raise Exception('Expecting argument: target_version rollback_version new_version')

target_version = sys.argv[1]
rollback_version = sys.argv[2]
new_version = sys.argv[3]
update_changelog(target_version, rollback_version, new_version)
# Example: python3 .github/workflows/script/rollback_changelog.py --target-version "1.2.3" --rollback-version "1.2.4" --new-version "1.2.5"
parser = argparse.ArgumentParser(description="Update CHANGELOG.md for a rollback release.")
parser.add_argument("--target-version", "-t", required=True, help="Version to re-release as new_version.")
parser.add_argument("--rollback-version", "-r", required=True, help="Version being rolled back.")
parser.add_argument("--new-version", "-n", required=True, help="New version to publish for target_version.")
args = parser.parse_args()

update_changelog(args.target_version, args.rollback_version, args.new_version)