Skip to content

Commit 93237f0

Browse files
authored
Merge branch 'rel-9.2' into auto-merge/rel-9-1/3626
2 parents a451a70 + f0e5850 commit 93237f0

File tree

1,425 files changed

+27709
-4783
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,425 files changed

+27709
-4783
lines changed

.github/scripts/update_versions.py

Lines changed: 63 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,79 @@
11
import os
22
import json
3+
import re
4+
import xml.etree.ElementTree as ET
35
from github import Github
46

5-
def update_latest_versions():
6-
version = os.environ["GITHUB_REF"].split("/")[-1]
7+
def get_target_release_branch(version):
8+
"""
9+
Extracts the first two numbers from the release version (`9.0.5` → `rel-9.0`)
10+
to determine the corresponding `rel-x.x` branch.
11+
"""
12+
match = re.match(r"(\d+)\.(\d+)\.\d+", version)
13+
if not match:
14+
raise ValueError(f"Invalid version format: {version}")
715

8-
if "rc" in version:
9-
return False
16+
major, minor = match.groups()
17+
target_branch = f"rel-{major}.{minor}"
18+
return target_branch
1019

11-
with open("latest-versions.json", "r") as f:
12-
latest_versions = json.load(f)
20+
def get_version_from_common_props(branch):
21+
"""
22+
Retrieves `Version` and `LeptonXVersion` from the `common.props` file in the specified branch.
23+
"""
24+
g = Github(os.environ["GITHUB_TOKEN"])
25+
repo = g.get_repo("abpframework/abp")
1326

14-
latest_versions[0]["version"] = version
27+
try:
28+
file_content = repo.get_contents("common.props", ref=branch)
29+
common_props_content = file_content.decoded_content.decode("utf-8")
1530

16-
with open("latest-versions.json", "w") as f:
17-
json.dump(latest_versions, f, indent=2)
31+
root = ET.fromstring(common_props_content)
32+
version = root.find(".//Version").text
33+
leptonx_version = root.find(".//LeptonXVersion").text
1834

19-
return True
35+
return version, leptonx_version
36+
except Exception as e:
37+
raise FileNotFoundError(f"common.props not found in branch {branch}: {e}")
2038

21-
def create_pr():
22-
g = Github(os.environ["GITHUB_TOKEN"])
23-
repo = g.get_repo("abpframework/abp")
39+
def update_latest_versions():
40+
"""
41+
Updates `latest-versions.json` based on the most relevant release branch.
42+
"""
43+
# Get the release version from GitHub reference
44+
release_version = os.environ["GITHUB_REF"].split("/")[-1] # Example: "refs/tags/v9.0.5" → "v9.0.5"
45+
if release_version.startswith("v"):
46+
release_version = release_version[1:] # Convert to "9.0.5" format
2447

25-
branch_name = f"update-latest-versions-{os.environ['GITHUB_REF'].split('/')[-1]}"
26-
base = repo.get_branch("dev")
27-
repo.create_git_ref(ref=f"refs/heads/{branch_name}", sha=base.commit.sha)
48+
# Determine the correct `rel-x.x` branch
49+
target_branch = get_target_release_branch(release_version)
50+
51+
# Retrieve `common.props` data from the target branch
52+
version, leptonx_version = get_version_from_common_props(target_branch)
2853

29-
# Get the current latest-versions.json file and its sha
30-
contents = repo.get_contents("latest-versions.json", ref="dev")
31-
file_sha = contents.sha
54+
# Skip if the version is a preview or release candidate
55+
if "preview" in version or "rc" in version:
56+
return False
3257

33-
# Update the file in the repo
34-
repo.update_file(
35-
path="latest-versions.json",
36-
message=f"Update latest-versions.json to version {os.environ['GITHUB_REF'].split('/')[-1]}",
37-
content=open("latest-versions.json", "r").read().encode("utf-8"),
38-
sha=file_sha,
39-
branch=branch_name,
40-
)
58+
# Read the `latest-versions.json` file
59+
with open("latest-versions.json", "r") as f:
60+
latest_versions = json.load(f)
4161

42-
try:
43-
pr = repo.create_pull(title="Update latest-versions.json",
44-
body="Automated PR to update the latest-versions.json file.",
45-
head=branch_name, base="dev")
46-
except Exception as e:
47-
print(f"Error while creating PR: {e}")
62+
# Add the new version entry
63+
new_version_entry = {
64+
"version": version,
65+
"releaseDate": "",
66+
"type": "stable",
67+
"message": "",
68+
"leptonx": {
69+
"version": leptonx_version
70+
}
71+
}
72+
73+
latest_versions.insert(0, new_version_entry) # Insert the new version at the top
4874

49-
pr.create_review_request(reviewers=["ebicoglu", "gizemmutukurt", "skoc10"])
75+
# Update the file
76+
with open("latest-versions.json", "w") as f:
77+
json.dump(latest_versions, f, indent=2)
5078

51-
if __name__ == "__main__":
52-
should_create_pr = update_latest_versions()
53-
if should_create_pr:
54-
create_pr()
79+
return True

.github/workflows/auto-pr.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
name: Merge branch rel-9-2 with rel-9.1
1+
name: Merge branch dev with rel-9.2
22
on:
33
push:
44
branches:
5-
- rel-9.1
5+
- rel-9.2
66
permissions:
77
contents: read
88

99
jobs:
10-
merge-rel-9-2-with-rel-9-1:
10+
merge-dev-with-rel-9-2:
1111
permissions:
1212
contents: write # for peter-evans/create-pull-request to create branch
1313
pull-requests: write # for peter-evans/create-pull-request to create a PR
1414
runs-on: ubuntu-latest
1515
steps:
1616
- uses: actions/checkout@v2
1717
with:
18-
ref: rel-9.2
18+
ref: dev
1919
- name: Reset promotion branch
2020
run: |
21-
git fetch origin rel-9.1:rel-9.1
22-
git reset --hard rel-9.1
21+
git fetch origin rel-9.2:rel-9.2
22+
git reset --hard rel-9.2
2323
- name: Create Pull Request
2424
uses: peter-evans/create-pull-request@v3
2525
with:
26-
branch: auto-merge/rel-9-1/${{github.run_number}}
27-
title: Merge branch rel-9.2 with rel-9.1
28-
body: This PR generated automatically to merge rel-9.2 with rel-9.1. Please review the changed files before merging to prevent any errors that may occur.
26+
branch: auto-merge/rel-9-2/${{github.run_number}}
27+
title: Merge branch dev with rel-9.2
28+
body: This PR generated automatically to merge dev with rel-9.2. Please review the changed files before merging to prevent any errors that may occur.
2929
reviewers: maliming
3030
draft: true
3131
token: ${{ github.token }}
@@ -34,5 +34,5 @@ jobs:
3434
GH_TOKEN: ${{ secrets.BOT_SECRET }}
3535
run: |
3636
gh pr ready
37-
gh pr review auto-merge/rel-9-1/${{github.run_number}} --approve
38-
gh pr merge auto-merge/rel-9-1/${{github.run_number}} --merge --auto --delete-branch
37+
gh pr review auto-merge/rel-9-2/${{github.run_number}} --approve
38+
gh pr merge auto-merge/rel-9-2/${{github.run_number}} --merge --auto --delete-branch

0 commit comments

Comments
 (0)