mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-24 12:54:40 +01:00
132 lines
No EOL
4.4 KiB
YAML
132 lines
No EOL
4.4 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.7
|
|
- name: Install Python requirements
|
|
run: pip install gitpython semver
|
|
|
|
- name: 💉 Inject new version into files
|
|
id: version
|
|
run: |
|
|
echo ::set-output name=current_version::${GITHUB_REF#refs/*/}
|
|
RESULT=$(python ./tools/ci_tools.py --finalize ${GITHUB_REF#refs/*/})
|
|
LASTRELEASE=$(python ./tools/ci_tools.py --lastversion release)
|
|
|
|
echo ::set-output name=last_release::$LASTRELEASE
|
|
echo ::set-output name=release_tag::$RESULT
|
|
|
|
- name: "✏️ Generate full changelog"
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
id: generate-full-changelog
|
|
uses: heinrichreimer/github-changelog-generator-action@v2.2
|
|
with:
|
|
token: ${{ secrets.ADMIN_TOKEN }}
|
|
breakingLabel: '**💥 Breaking**'
|
|
enhancementLabel: '**🚀 Enhancements**'
|
|
bugsLabel: '**🐛 Bug fixes**'
|
|
deprecatedLabel: '**⚠️ Deprecations**'
|
|
addSections: '{"documentation":{"prefix":"### 📖 Documentation","labels":["documentation"]},"tests":{"prefix":"### ✅ Testing","labels":["tests"]}}'
|
|
issues: false
|
|
issuesWoLabels: false
|
|
sinceTag: "3.0.0"
|
|
maxIssues: 100
|
|
pullRequests: true
|
|
prWoLabels: false
|
|
author: false
|
|
unreleased: true
|
|
compareLink: true
|
|
stripGeneratorNotice: true
|
|
verbose: true
|
|
futureRelease: ${{ steps.version.outputs.release_tag }}
|
|
excludeTagsRegex: "CI/.+"
|
|
releaseBranch: "main"
|
|
|
|
- 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
|
|
with:
|
|
token: ${{ secrets.ADMIN_TOKEN }}
|
|
branch: main
|
|
tags: true
|
|
unprotect_reviews: true
|
|
|
|
- name: "✏️ Generate last changelog"
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
id: generate-last-changelog
|
|
uses: heinrichreimer/github-changelog-generator-action@v2.2
|
|
with:
|
|
token: ${{ secrets.ADMIN_TOKEN }}
|
|
breakingLabel: '**💥 Breaking**'
|
|
enhancementLabel: '**🚀 Enhancements**'
|
|
bugsLabel: '**🐛 Bug fixes**'
|
|
deprecatedLabel: '**⚠️ Deprecations**'
|
|
addSections: '{"documentation":{"prefix":"### 📖 Documentation","labels":["documentation"]},"tests":{"prefix":"### ✅ Testing","labels":["tests"]}}'
|
|
issues: false
|
|
issuesWoLabels: false
|
|
sinceTag: ${{ steps.version.outputs.last_release }}
|
|
maxIssues: 100
|
|
pullRequests: true
|
|
prWoLabels: false
|
|
author: false
|
|
unreleased: true
|
|
compareLink: true
|
|
stripGeneratorNotice: true
|
|
verbose: true
|
|
futureRelease: ${{ steps.version.outputs.release_tag }}
|
|
excludeTagsRegex: "CI/.+"
|
|
releaseBranch: "main"
|
|
stripHeaders: true
|
|
base: 'none'
|
|
|
|
|
|
- name: 🚀 Github Release
|
|
if: steps.version.outputs.release_tag != 'skip'
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
body: ${{ steps.generate-last-changelog.outputs.changelog }}
|
|
tag: ${{ steps.version.outputs.release_tag }}
|
|
token: ${{ secrets.ADMIN_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.ADMIN_TOKEN }}
|
|
source_ref: 'main'
|
|
target_branch: 'develop'
|
|
commit_message_template: '[Automated] Merged release {source_ref} into {target_branch}' |