mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 21:04:40 +01:00
76 lines
2.3 KiB
YAML
76 lines
2.3 KiB
YAML
name: Stable Release
|
|
|
|
on:
|
|
release:
|
|
types:
|
|
- prereleased
|
|
|
|
jobs:
|
|
create_release:
|
|
runs-on: ubuntu-latest
|
|
if: github.actor != 'pypebot'
|
|
|
|
steps:
|
|
- name: 🚛 Checkout Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.9
|
|
- name: Install Python requirements
|
|
run: pip install gitpython semver PyGithub
|
|
|
|
- name: 💉 Inject new version into files
|
|
id: version
|
|
run: |
|
|
NEW_VERSION=$(python ./tools/ci_tools.py --finalize ${GITHUB_REF#refs/*/})
|
|
LAST_VERSION=$(python ./tools/ci_tools.py --lastversion release)
|
|
|
|
echo "current_version=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
|
|
echo "last_release=${LAST_VERSION}" >> $GITHUB_OUTPUT
|
|
echo "release_tag=${NEW_VERSION}" >> $GITHUB_OUTPUT
|
|
|
|
- name: 💾 Commit and Tag
|
|
id: git_commit
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
run: |
|
|
git config user.email ${{ secrets.CI_EMAIL }}
|
|
git config user.name ${{ secrets.CI_USER }}
|
|
git add .
|
|
git commit -m "[Automated] Release"
|
|
tag_name="${{ steps.version.outputs.release_tag }}"
|
|
git tag -a $tag_name -m "stable release"
|
|
|
|
- name: 🔏 Push to protected main branch
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
uses: CasperWA/push-protected@v2.10.0
|
|
with:
|
|
token: ${{ secrets.YNPUT_BOT_TOKEN }}
|
|
branch: main
|
|
tags: true
|
|
unprotect_reviews: true
|
|
|
|
- name: 🚀 Github Release
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
tag: ${{ steps.version.outputs.release_tag }}
|
|
token: ${{ secrets.YNPUT_BOT_TOKEN }}
|
|
|
|
- name: ☠ Delete Pre-release
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
uses: cb80/delrel@latest
|
|
with:
|
|
tag: "${{ steps.version.outputs.current_version }}"
|
|
|
|
- name: 🔁 Merge main back to develop
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
uses: everlytic/branch-merge@1.1.0
|
|
with:
|
|
github_token: ${{ secrets.YNPUT_BOT_TOKEN }}
|
|
source_ref: 'main'
|
|
target_branch: 'develop'
|
|
commit_message_template: '[Automated] Merged release {source_ref} into {target_branch}'
|