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

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 }}