Skip to content

Commit 956203e

Browse files
committed
Automate
1 parent bc93d44 commit 956203e

File tree

5 files changed

+28
-26
lines changed

5 files changed

+28
-26
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ permissions:
1313
jobs:
1414

1515
build:
16+
needs: prepare-release
1617
strategy:
1718
matrix:
1819
platform: [ubuntu-latest, macos-latest, windows-latest]

.github/workflows/python-publish.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ permissions:
1717

1818
jobs:
1919
build:
20+
needs: prepare-release
2021
name: Build distribution 📦
2122
runs-on: ubuntu-latest
2223

.github/workflows/release.yml

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,58 @@ on:
44
push:
55
branches:
66
- main
7+
- automate-release
78
tags:
8-
- 'v*.*.*'
9+
- '*.*.*'
10+
11+
permissions:
12+
contents: read
913

1014
jobs:
11-
release:
15+
prepare-release:
1216
runs-on: ubuntu-latest
13-
needs: build_artifacts # previous jobs that create artifacts
17+
permissions:
18+
contents: write
19+
security-events: write
20+
1421
steps:
15-
- name: Checkout
16-
uses: actions/checkout@v3
22+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v5.0.0
1723

18-
- name: Set up Python
19-
uses: actions/setup-python@v4
24+
- name: Setup Python
25+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
2026
with:
21-
python-version: "3.x"
27+
python-version: '3.13'
2228

2329
- name: Determine release info
2430
id: release_info
2531
run: |
2632
if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
2733
TAG="latest"
28-
RELEASE_NAME="Latest Release"
29-
LATEST_FLAG="--latest"
3034
else
3135
TAG="${GITHUB_REF#refs/tags/}"
32-
RELEASE_NAME="Release $TAG"
33-
LATEST_FLAG=""
3436
fi
3537
echo "tag=$TAG" >> $GITHUB_OUTPUT
36-
echo "release_name=$RELEASE_NAME" >> $GITHUB_OUTPUT
37-
echo "latest_flag=$LATEST_FLAG" >> $GITHUB_OUTPUT
3838
3939
- name: Update latest tag
40-
if: github.ref == 'refs/heads/main'
41-
uses: EndBug/latest-tag@v9
40+
if: github.ref == 'refs/heads/automate-release'
41+
uses: EndBug/latest-tag@52ce15b2695f86a4ce47b72387dee54e47f6356c # v1.6.2
4242
with:
43-
tag-name: latest
43+
ref: latest
4444
env:
4545
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4646

4747
- name: Generate release notes
4848
id: notes
4949
run: |
50-
notes=$(python create_release_notes.py ${{ steps.release_info.outputs.latest_flag }})
51-
echo "release_notes<<EOF" >> $GITHUB_OUTPUT
52-
echo "$notes" >> $GITHUB_OUTPUT
53-
echo "EOF" >> $GITHUB_OUTPUT
50+
python script/create_release_notes.py
5451
55-
- name: Create/update latest release
56-
if: github.ref == 'refs/heads/main'
52+
- name: Create release
5753
uses: softprops/action-gh-release@v1
5854
with:
5955
tag_name: ${{ steps.release_info.outputs.tag }}
60-
name: ${{ steps.release_info.outputs.release_name }}
61-
body: ${{ steps.notes.outputs.release_notes }}
56+
name: ${{ steps.release_info.outputs.tag }}
57+
body_text: release_notes.txt
6258
draft: true
59+
overwrite: true
6360
env:
6461
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ doc/landing-page/_build
1313
example/Tests/
1414
venv*
1515
*.cdx.json
16+
release_notes.txt

script/create_release_notes.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,9 @@ def main():
5959
return
6060

6161
release_notes = extract_latest_section(changelog_path)
62-
print(release_notes)
62+
63+
with open("release_notes.txt", "w", encoding="UTF-8") as notes:
64+
print(release_notes, file=notes)
6365

6466

6567
if __name__ == "__main__":

0 commit comments

Comments
 (0)