12
12
13
13
steps :
14
14
- uses : actions/checkout@v4
15
+ with :
16
+ fetch-depth : 0 # Fetch all history for all branches and tags.
15
17
16
18
- name : Set up Python
17
19
uses : actions/setup-python@v5
@@ -20,40 +22,25 @@ jobs:
20
22
21
23
- name : Build source and wheel distributions
22
24
run : |
25
+ python -m pip install --upgrade pip
23
26
python -m pip install --upgrade build twine
24
27
python -m build
25
28
twine check --strict dist/*
26
29
30
+ - name : Create Release Notes
31
+ uses : actions/github-script@v7
32
+ with :
33
+ github-token : ${{secrets.GITHUB_TOKEN}}
34
+ script : |
35
+ await github.request(`POST /repos/${{ github.repository }}/releases`, {
36
+ tag_name: "${{ github.ref }}",
37
+ generate_release_notes: true
38
+ });
39
+
27
40
- name : Publish distribution to PyPI
28
41
uses : pypa/gh-action-pypi-publish@release/v1
29
42
with :
30
43
user : __token__
31
44
password : ${{ secrets.pypi_password }}
32
45
33
- - name : Create GitHub Release
34
- id : create_release
35
- uses : actions/create-release@v1
36
- env :
37
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
38
- with :
39
- tag_name : ${{ github.ref }}
40
- release_name : Version ${{ github.ref }}
41
- draft : false
42
- prerelease : false
43
-
44
- - name : Get Asset name
45
- run : |
46
- export PKG=$(ls dist/ | grep tar)
47
- set -- $PKG
48
- echo "name=$1" >> $GITHUB_ENV
49
-
50
- - name : Upload Release Asset (sdist) to GitHub
51
- id : upload-release-asset
52
- uses : actions/upload-release-asset@v1
53
- env :
54
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
55
- with :
56
- upload_url : ${{ steps.create_release.outputs.upload_url }}
57
- asset_path : dist/${{ env.name }}
58
- asset_name : ${{ env.name }}
59
- asset_content_type : application/zip
46
+
0 commit comments