diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index faf5b5d..b8be7ee 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,6 +12,10 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' - name: Create Release id: create_release uses: actions/create-release@v1 @@ -19,11 +23,9 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: tag_name: ${{ github.ref }} - release_name: Release ${{ github.ref }} + release_name: ${{ github.ref }} body: | - Changes in this Release - - First Change - - Second Change + $(python3 test/get_changes.py `github.ref`) draft: false prerelease: false\ - name: Upload Release Asset diff --git a/test/get_changes.py b/test/get_changes.py new file mode 100644 index 0000000..f8c64b9 --- /dev/null +++ b/test/get_changes.py @@ -0,0 +1,21 @@ +import re +import sys + +def get_version_changelog(version): + with open('CHANGELOG.md', 'r') as file: + content = file.read() + pattern = rf"### {version} \(\d\d-\d\d-\d{{4}}\)\n(.*?)(?=### \d+\.\d+\.\d+|\Z)" + matches = re.findall(pattern, content, re.DOTALL) + if matches: + return matches[0].strip() + else: + return f"Changelog entry for version {version} not found." + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Usage: python3 script.py version_number") + sys.exit(1) + + version = sys.argv[1] + changelog = get_version_changelog(version) + print(changelog)