mirror of https://github.com/abpframework/abp
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.7 KiB
						
					
					
				| import os
 | |
| import json
 | |
| from github import Github
 | |
| 
 | |
| def update_latest_versions():
 | |
|     version = os.environ["GITHUB_REF"].split("/")[-1]
 | |
| 
 | |
|     if "rc" 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,
 | |
|     )
 | |
| 
 | |
|     try:
 | |
|         pr = repo.create_pull(title="Update latest-versions.json",
 | |
|                         body="Automated PR to update the latest-versions.json file.",
 | |
|                         head=branch_name, base="dev")
 | |
|     except Exception as e:
 | |
|         print(f"Error while creating PR: {e}")
 | |
| 
 | |
|     pr.create_review_request(reviewers=["ebicoglu", "gizemmutukurt", "skoc10"])
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     should_create_pr = update_latest_versions()
 | |
|     if should_create_pr:
 | |
|         create_pr() |