mirror of https://github.com/abpframework/abp
parent
ad7072e2b7
commit
23205234b4
@ -0,0 +1,54 @@
|
|||||||
|
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()
|
@ -0,0 +1,44 @@
|
|||||||
|
name: Create Release
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag_name:
|
||||||
|
description: 'Tag Name'
|
||||||
|
required: true
|
||||||
|
prerelease:
|
||||||
|
description: 'Pre-release?'
|
||||||
|
required: true
|
||||||
|
branchName:
|
||||||
|
description: 'Branch Name'
|
||||||
|
required: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.inputs.branchName }}
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.event.inputs.tag_name }}
|
||||||
|
release_name: ${{ github.event.inputs.tag_name }}
|
||||||
|
draft: false
|
||||||
|
prerelease: ${{ github.event.inputs.prerelease }}
|
||||||
|
|
||||||
|
- name: Checkout code at tag
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.inputs.tag_name }}
|
||||||
|
|
||||||
|
- name: Build Project
|
||||||
|
run: |
|
||||||
|
# add your build commands here, depending on your project's requirements.
|
||||||
|
echo "Build project here"
|
@ -0,0 +1,33 @@
|
|||||||
|
name: Update Latest Versions
|
||||||
|
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types:
|
||||||
|
- published
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-versions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: 3.x
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip
|
||||||
|
pip install PyGithub
|
||||||
|
|
||||||
|
- name: Update latest-versions.json and create PR
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
|
||||||
|
run: |
|
||||||
|
python .github/scripts/update_versions.py
|
Loading…
Reference in new issue