mirror of https://github.com/abpframework/abp.git
1 changed files with 52 additions and 0 deletions
@ -0,0 +1,52 @@ |
|||||
|
import os |
||||
|
import json |
||||
|
from github import Github |
||||
|
|
||||
|
def update_latest_versions(): |
||||
|
version = os.environ["GITHUB_REF"].split("/")[-1] |
||||
|
|
||||
|
if "rc" not in version: |
||||
|
return False |
||||
|
|
||||
|
with open("latest-versions.json", "r") as f: |
||||
|
latest_versions = json.load(f) |
||||
|
|
||||
|
latest_versions[0]["version"] = version |
||||
|
|
||||
|
with open("latest-versions.json", "w") as f: |
||||
|
json.dump(latest_versions, f, indent=2) |
||||
|
|
||||
|
return True |
||||
|
|
||||
|
def create_pr(): |
||||
|
g = Github(os.environ["GITHUB_TOKEN"]) |
||||
|
repo = g.get_repo("abpframework/abp") |
||||
|
|
||||
|
branch_name = f"update-latest-versions-{os.environ['GITHUB_REF'].split('/')[-1]}" |
||||
|
base = repo.get_branch("dev") |
||||
|
repo.create_git_ref(ref=f"refs/heads/{branch_name}", sha=base.commit.sha) |
||||
|
|
||||
|
# Get the current latest-versions.json file and its sha |
||||
|
contents = repo.get_contents("latest-versions.json", ref="dev") |
||||
|
file_sha = contents.sha |
||||
|
|
||||
|
# Update the file in the repo |
||||
|
repo.update_file( |
||||
|
path="latest-versions.json", |
||||
|
message=f"Update latest-versions.json to version {os.environ['GITHUB_REF'].split('/')[-1]}", |
||||
|
content=open("latest-versions.json", "r").read().encode("utf-8"), |
||||
|
sha=file_sha, |
||||
|
branch=branch_name, |
||||
|
) |
||||
|
|
||||
|
pr = repo.create_pull(title="Update latest-versions.json", |
||||
|
body="Automated PR to update the latest-versions.json file.", |
||||
|
head=branch_name, base="dev") |
||||
|
|
||||
|
pr.create_review_request(reviewers=["ebicoglu", "gizemmutukurt", "skoc10"]) |
||||
|
|
||||
|
if __name__ == "__dev__": |
||||
|
should_create_pr = update_latest_versions() |
||||
|
if should_create_pr: |
||||
|
create_pr() |
||||
|
|
||||
Loading…
Reference in new issue