Skip to content

Commit

Permalink
Bump the current_milestone to the next patch version on release branches
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorentClarret committed Mar 6, 2025
1 parent c20797d commit 0f05eb4
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 17 deletions.
19 changes: 5 additions & 14 deletions .github/workflows/add_milestone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,11 @@ jobs:
- name: Get repo current milestone
id: current-milestone
run: |
if [[ ${GITHUB_REF##*/} =~ ^7\.[0-9]+\.[0-9]+$ ]]; then
# If we're on a release branch, set the milestone to the latest release milestone found.
MILESTONE=$(gh release list | grep -o $(echo ${GITHUB_REF##*/} | sed 's/x/[0-9]*/g') | sort -uV | tail -1)
if [ -z "$MILESTONE" ]; then
echo "Error: Couldn't get the latest release milestone from Github."
exit 1
fi
else
# Else use the current_milestone field in the release.json file.
MILESTONE=$(cat release.json | jq -r .current_milestone)
if [ -z "$MILESTONE" ]; then
echo "Error: Couldn't find the current_milestone field in the release.json file."
exit 1
fi
# Use the current_milestone field in the release.json file.
MILESTONE=$(cat release.json | jq -r .current_milestone)
if [ -z "$MILESTONE" ]; then
echo "Error: Couldn't find the current_milestone field in the release.json file."
exit 1
fi
if [[ ! $MILESTONE =~ ^7\.[0-9]+\.[0-9]+$ ]]; then
echo "Error: Malformed milestone $MILESTONE. It should be of the form '7.x.y'."
Expand Down
6 changes: 6 additions & 0 deletions tasks/libs/releasing/json.py
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,12 @@ def set_new_release_branch(branch):
_save_release_json(rj)


def set_current_milestone(milestone):
rj = load_release_json()
rj["current_milestone"] = milestone
_save_release_json(rj)


def generate_repo_data(ctx, warning_mode, next_version, release_branch):
if warning_mode:
# Warning mode is used to warn integrations so that they prepare their release version in advance.
Expand Down
13 changes: 10 additions & 3 deletions tasks/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
_save_release_json,
generate_repo_data,
load_release_json,
set_current_milestone,
set_new_release_branch,
update_release_json,
)
Expand Down Expand Up @@ -304,6 +305,14 @@ def finish(ctx, release_branch, upstream="origin"):
raise Exit(color_message("Aborting.", "red"), code=1)
update_release_json(new_version, new_version)

next_milestone = next_final_version(ctx, release_branch, True)
next_milestone = next_milestone.next_version(bump_patch=True)
print(f"Creating the {next_milestone} milestone...")

gh = GithubAPI()
gh.create_milestone(str(next_milestone), exist_ok=True)
set_current_milestone(str(next_milestone))

# Step 2: Update internal module dependencies

update_modules(ctx, version=str(new_version))
Expand Down Expand Up @@ -1305,9 +1314,7 @@ def update_current_milestone(ctx, major_version: int = 7, upstream="origin"):
with agent_context(ctx, get_default_branch(major=major_version)):
milestone_branch = f"release_milestone-{int(time.time())}"
ctx.run(f"git switch -c {milestone_branch}")
rj = load_release_json()
rj["current_milestone"] = f"{next}"
_save_release_json(rj)
set_current_milestone(next)
# Commit release.json
ctx.run("git add release.json")
ok = try_git_command(ctx, f"git commit -m 'Update release.json with current milestone to {next}'")
Expand Down

0 comments on commit 0f05eb4

Please sign in to comment.