11name : release
22
3- # Release Python client library on successful completion of the `test` workflow
4-
53on :
64 workflow_run :
75 workflows :
@@ -20,29 +18,22 @@ jobs:
2018
2119 steps :
2220 - uses : actions/checkout@v3
23- with :
24- fetch-depth : 2
2521
26- # Python setup
2722 - name : Set up Python environment
2823 uses : actions/setup-python@v4
2924 with :
3025 python-version : " 3.10"
3126
32- # Install dependencies
33- - name : Install dependencies
27+ - name : Install poetry
3428 run : |
35- python -m pip install --upgrade pip setuptools wheel
36- scripts/build.sh
29+ python -m pip install --upgrade pip poetry==1.3.2
3730
38- # Set release output variables
39- - name : Set output
31+ - name : Prepare release
4032 id : vars
4133 run : |
42- echo "::set-output name= tag_name:: v$(python setup.py --version)"
43- echo "::set-output name= release_name::$(python setup.py -- version)"
34+ echo "tag_name= v$(poetry version -s)" >> $GITHUB_ENV
35+ echo "release_name=$(poetry version)" >> $GITHUB_ENV
4436
45- # Create GitHub release
4637 - name : Create release
4738 id : create-release
4839 uses : actions/create-release@v1
@@ -58,110 +49,44 @@ jobs:
5849
5950 publish-sdist :
6051 needs : [tag-release]
61- name : publish-sdist - Python 3.10 (ubuntu-latest)
52+ name : publish - Python 3.10 (ubuntu-latest)
6253 runs-on : ubuntu-latest
6354
6455 steps :
6556 - uses : actions/checkout@v3
6657
67- # Python setup
6858 - name : Set up Python environment
6959 uses : actions/setup-python@v4
7060 with :
7161 python-version : " 3.10"
7262
73- # Install release dependencies
74- - name : Install release dependencies
63+ - name : Install poetry
7564 run : |
76- python -m pip install --upgrade pip setuptools wheel twine
77- pip install -r requirements.txt
78- pip install -r requirements_dev.txt
79-
80- # Create distribution
81- - name : Package for release
82- run : python setup.py sdist
65+ python -m pip install --upgrade pip poetry==1.3.2
8366
84- # Set release output variables
85- - name : Set output
86- id : vars
67+ - name : Build
8768 run : |
88- echo "::set-output name=asset_path::$(find ./dist -mindepth 1 -print -quit)"
89- cd dist
90- echo "::set-output name=asset_name::$(printf '%s\0' * | awk 'BEGIN{RS="\0"} {print; exit}')"
91-
92- # Upload release asset
93- - name : Upload release asset
94- id : upload-release-asset
95- uses : actions/upload-release-asset@v1
96- env :
97- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
98- ASSET_PATH : ${{ steps.vars.outputs.asset_path }}
99- ASSET_NAME : ${{ steps.vars.outputs.asset_name }}
100- with :
101- upload_url : ${{ needs.tag-release.outputs.upload_url }}
102- asset_path : ${{ env.ASSET_PATH }}
103- asset_name : ${{ env.ASSET_NAME }}
104- asset_content_type : application/zip
105-
106- # Publish to PyPI
107- - name : Publish to PyPI
108- id : publish-to-pypi
109- env :
110- TWINE_USERNAME : ${{ secrets.TWINE_USERNAME }}
111- TWINE_PASSWORD : ${{ secrets.TWINE_PASSWORD }}
112- run : twine upload dist/*
113-
114- publish-wheel :
115- needs : [tag-release]
116- name : publish-wheel - Python 3.10 (ubuntu-latest)
117- runs-on : ubuntu-latest
118-
119- steps :
120- - uses : actions/checkout@v3
121-
122- # Python setup
123- - name : Set up Python environment
124- uses : actions/setup-python@v4
125- with :
126- python-version : " 3.10"
127-
128- # Install release dependencies
129- - name : Install release dependencies
130- run : |
131- python -m pip install --upgrade pip setuptools wheel twine
132- pip install -r requirements.txt
133- pip install -r requirements_dev.txt
134-
135- # Create distribution
136- - name : Package for release
137- run : python setup.py bdist_wheel
69+ poetry build
13870
139- # Set release output variables
140- - name : Set output
71+ - name : Prepare artifacts
14172 id : vars
14273 run : |
143- echo "::set-output name=asset_path::$(find ./dist -mindepth 1 -print -quit)"
144- cd dist
145- echo "::set-output name=asset_name::$(printf '%s\0' * | awk 'BEGIN{RS="\0"} {print; exit}')"
74+ echo "asset_path=$(find ./dist -mindepth 1 -print -quit)" >> $GITHUB_ENV
75+ echo "asset_name=databento-*.tar.gz,databento-*.whl" >> $GITHUB_ENV
14676
147- # Upload release asset
14877 - name : Upload release asset
14978 id : upload-release-asset
15079 uses : actions/upload-release-asset@v1
15180 env :
15281 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
153- ASSET_PATH : ${{ steps.vars.outputs.asset_path }}
154- ASSET_NAME : ${{ steps.vars.outputs.asset_name }}
15582 with :
15683 upload_url : ${{ needs.tag-release.outputs.upload_url }}
15784 asset_path : ${{ env.ASSET_PATH }}
15885 asset_name : ${{ env.ASSET_NAME }}
15986 asset_content_type : application/zip
16087
161- # Publish to PyPI
16288 - name : Publish to PyPI
16389 id : publish-to-pypi
16490 env :
165- TWINE_USERNAME : ${{ secrets.TWINE_USERNAME }}
166- TWINE_PASSWORD : ${{ secrets.TWINE_PASSWORD }}
167- run : twine upload dist/*
91+ POETRY_PYPI_TOKEN_PYPI : ${{ secrets.PYPI_TOKEN }}
92+ run : poetry publish
0 commit comments