Browse Source
* feat: added github action workflow to release to stable * updated trigger logicpull/611/head
committed by
GitHub
1 changed files with 50 additions and 0 deletions
@ -0,0 +1,50 @@ |
|||
name: Update Stable Branch from Master on Latest Release |
|||
|
|||
on: |
|||
release: |
|||
types: [released] |
|||
|
|||
permissions: |
|||
contents: write |
|||
|
|||
jobs: |
|||
update-stable-branch: |
|||
name: Update Stable Branch from Master |
|||
runs-on: ubuntu-latest |
|||
|
|||
steps: |
|||
- name: Checkout repository |
|||
uses: actions/checkout@v4 |
|||
with: |
|||
fetch-depth: 0 |
|||
token: ${{ secrets.GITHUB_TOKEN }} |
|||
|
|||
- name: Configure Git |
|||
run: | |
|||
git config user.name "GitHub Actions Bot" |
|||
git config user.email "github-actions[bot]@users.noreply.github.com" |
|||
|
|||
- name: Fetch latest master and stable branches |
|||
run: | |
|||
git fetch origin master:master |
|||
git fetch origin stable:stable || echo "Stable branch not found remotely, will create." |
|||
|
|||
- name: Get latest master commit SHA |
|||
id: get_master_sha |
|||
run: echo "MASTER_SHA=$(git rev-parse master)" >> $GITHUB_ENV |
|||
|
|||
- name: Check out stable branch |
|||
run: | |
|||
if git show-ref --verify --quiet refs/heads/stable; then |
|||
git checkout stable |
|||
git pull origin stable # Sync with remote stable if it exists |
|||
else |
|||
echo "Creating local stable branch based on master HEAD." |
|||
git checkout -b stable ${{ env.MASTER_SHA }} |
|||
fi |
|||
|
|||
- name: Reset stable branch to latest master |
|||
run: git reset --hard ${{ env.MASTER_SHA }} |
|||
|
|||
- name: Force push stable branch |
|||
run: git push origin stable --force |
|||
Loading…
Reference in new issue