Final Implementation of Changelog V2 (#6050)

* Updated the release drafter to process the released changelog for OpenBB Platform

* Update release drafter configuration

* Add OpenBB Documentation Changes and Create Release

* Update process_changelog.py path in draft-release.yml

* Update release-drafter version and save changelog

* Copy changelog with python

* Update draft-release.yml to save Changelog

* Update draft-release.yml

* Encode and save Changelog to Base64

* Update Changelog saving method

* Update Changelog format

* Update CHANGELOG.md with release notes

* Fix draft release workflow

* Add cat command to print CHANGELOG.md

* Add platform-drafter.yml and update release-drafter.yml and draft-release.yml

* Commented out config-name in release-drafter step

* Update branch name validation and process_changelog.py

* Refactor process_changelog.py to improve readability and maintainability

* Refactor process_changelog.py to handle file I/O errors and remove duplicate PR entries

---------

Co-authored-by: Igor Radovanovic <74266147+IgorWounds@users.noreply.github.com>
This commit is contained in:
Luqman
2024-02-08 10:38:06 +01:00
committed by GitHub
parent 8e445fead0
commit 7d668b10c8
6 changed files with 179 additions and 3 deletions

3
.github/labeler.yml vendored
View File

@@ -15,6 +15,9 @@ labels:
- label: "bug"
branch: "^hotfix/.*"
- label: "bug"
branch: "^bugfix/.*"
- label: "docs"
branch: "^docs/.*"

48
.github/platform-drafter.yml vendored Normal file
View File

@@ -0,0 +1,48 @@
name-template: 'OpenBB Platform v$NEXT_MINOR_VERSION'
tag-template: 'v$NEXT_MINOR_VERSION'
categories:
- title: 🦋 OpenBB Platform Enhancements
labels:
- 'platform'
- 'v4'
- title: 🐛 OpenBB Platform Bug Fixes
labels:
- 'bug'
- title: 📚 OpenBB Documentation Changes
labels:
- 'docs'
include-labels:
- 'platform'
- 'v4'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&'
exclude-contributors:
- 'jmaslek'
- 'DidierRLopes'
- 'deeleeramone'
- 'hjoaquim'
- 'jose-donato'
- 'luqmanbello'
- 'montezdesousa'
- 'tehcoderer'
- 'colin99d'
- 'piiq'
- 'andrewkenreich'
- 'IgorWounds'
- 'minhhoang1023'
template: |
## Thank you and welcome to our new contributors 🔥
$CONTRIBUTORS
## What's new 🎉
## What's changed 🚀
$CHANGES
We are proud of our community contributors and staunch supporters of open-source ecosystems.
Help us promote our community by tagging `@openbb_finance` on X with a link to your pull request,
and join our Discord server to chat about your contribution! We want to hear about your experience!
### Links 🦋
[Website](https://openbb.co/), [Twitter](https://twitter.com/openbb_finance), [Linkedin](https://www.linkedin.com/company/openbb-finance), [Instagram](https://www.instagram.com/openbb.finance/), [Reddit](https://www.reddit.com/r/openbb/), [Discord](https://discord.com/invite/xPHTuHCmuV)

View File

@@ -8,6 +8,11 @@ categories:
- title: 🐛 OpenBB Platform Bug Fixes
labels:
- 'bug'
- title: 📚 OpenBB Documentation Changes
labels:
- 'docs'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&'
exclude-contributors:
- 'jmaslek'
- 'DidierRLopes'

View File

@@ -35,7 +35,7 @@ jobs:
- name: Check branch name for develop PRs
if: ${{ steps.branch-name-check.outputs.target-branch == 'develop' }}
run: |
if [[ "${{ steps.branch-name-check.outputs.source-branch }}" =~ ^(main|feature/.*|docs/.*|hotfix/.*|release/[0-9]+\.[0-9]+\.[0-9]+(rc[0-9]+)?)$ ]]; then
if [[ "${{ steps.branch-name-check.outputs.source-branch }}" =~ ^(main|feature/.*|docs/.*|hotfix/.*|bugfix/.*|release/[0-9]+\.[0-9]+\.[0-9]+(rc[0-9]+)?)$ ]]; then
echo "Branch name is valid"
else
echo "Invalid branch name. Branches must follow the GitFlow naming convention to be allowed to merge into the develop branch."

View File

@@ -1,11 +1,49 @@
name: Release Drafter
on: workflow_dispatch
on:
workflow_dispatch:
inputs:
release_pr_number:
description: 'Release PR Number'
required: true
default: ''
tag:
description: 'Tag for release (manual input)'
required: true
default: ''
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5.21.0
- name: 📟 Checkout code
uses: actions/checkout@v4
- name: 📝 Release Drafter
id: release-drafter
uses: release-drafter/release-drafter@v6.0.0
# with:
# config-name: platform-drafter.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 💾 Save Changelog
run: |
cat << 'EOF' > CHANGELOG.md
${{ steps.release-drafter.outputs.body }}
EOF
- name: 🧬 Process Changelog
run: |
python process_changelog.py CHANGELOG.md ${{ github.event.inputs.release_pr_number }}
cat CHANGELOG.md
- name: 🛫 Create Release
uses: mikepenz/action-gh-release@v1
with:
body_path: "CHANGELOG.md"
tag_name: ${{ github.event.inputs.tag }}
prerelease: false
draft: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}