1111 - completed
1212
1313jobs :
14-
1514 tag-release :
16- name : tag-release - Python 3.9 (ubuntu-latest)
15+ if : ${{ github.event.workflow_run.conclusion == 'success' }}
16+ name : tag-release - Python 3.10 (ubuntu-latest)
1717 runs-on : ubuntu-latest
1818 outputs :
1919 upload_url : ${{ steps.create-release.outputs.upload_url }}
2727 - name : Set up Python environment
2828 uses : actions/setup-python@v2
2929 with :
30- python-version : " 3.9 "
30+ python-version : " 3.10 "
3131
3232 # Install dependencies
3333 - name : Install dependencies
@@ -40,14 +40,14 @@ jobs:
4040 - name : Create git tag
4141 uses : salsify/action-detect-and-tag-new-version@v2
4242 with :
43- version-command : cat VERSION
43+ version-command : python setup.py --version
4444
4545 # Set release output variables
4646 - name : Set output
4747 id : vars
4848 run : |
49- echo "::set-output name=tag_name::v$(cat VERSION )"
50- echo "::set-output name=release_name::$(cat VERSION )"
49+ echo "::set-output name=tag_name::v$(python setup.py --version )"
50+ echo "::set-output name=release_name::$(python setup.py --version )"
5151
5252 # Create GitHub release
5353 - name : Create release
6363 draft : false
6464 prerelease : false
6565
66- publish :
66+ publish-sdist :
6767 needs : [ tag-release ]
6868 name : publish-sdist - Python 3.9 (ubuntu-latest)
6969 runs-on : ubuntu-latest
@@ -75,11 +75,71 @@ jobs:
7575 - name : Set up Python environment
7676 uses : actions/setup-python@v2
7777 with :
78- python-version : " 3.9 "
78+ python-version : " 3.10 "
7979
8080 # Install release dependencies
8181 - name : Install release dependencies
82- run : python -m pip install --upgrade pip setuptools wheel twine
82+ run : |
83+ python -m pip install --upgrade pip setuptools wheel twine
84+ pip install -r requirements.txt
85+ pip install -r requirements_dev.txt
86+
87+ # Set release output variables
88+ - name : Set output
89+ id : vars
90+ run : |
91+ echo "::set-output name=asset_path::$(find ./dist -mindepth 1 -print -quit)"
92+ cd dist
93+ echo "::set-output name=asset_name::$(printf '%s\0' * | awk 'BEGIN{RS="\0"} {print; exit}')"
94+
95+ # Create distributions
96+ - name : Package for release
97+ run : python setup.py sdist
98+
99+ # Upload release asset
100+ - name : Upload release asset
101+ id : upload-release-asset
102+ uses : actions/upload-release-asset@v1
103+ env :
104+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
105+ ASSET_PATH : ${{ steps.vars.outputs.asset_path }}
106+ ASSET_NAME : ${{ steps.vars.outputs.asset_name }}
107+ with :
108+ upload_url : ${{ needs.tag-release.outputs.upload_url }}
109+ asset_path : ${{ env.ASSET_PATH }}
110+ asset_name : ${{ env.ASSET_NAME }}
111+ asset_content_type : application/zip
112+
113+ # Publish to PyPI
114+ - name : Publish to PyPI
115+ run : python twine upload -r databento -u ${{ secrets.PYPI_USERNAME }} - p ${{ secrets.PYPI_TOKEN }}
116+
117+ publish-wheels :
118+ needs : [ tag-release ]
119+ strategy :
120+ fail-fast : false
121+ matrix :
122+ arch : [ x86 ]
123+ os : [ ubuntu-latest, macos-latest, windows-latest ]
124+ python-version : [ "3.7", "3.8", "3.9", "3.10" ]
125+ name : publish-wheels - Python ${{ matrix.python-version }} (${{ matrix.arch }} ${{ matrix.os }})
126+ runs-on : ${{ matrix.os }}
127+
128+ steps :
129+ - uses : actions/checkout@v2
130+
131+ # Python setup
132+ - name : Set up Python environment
133+ uses : actions/setup-python@v2
134+ with :
135+ python-version : ${{ matrix.python-version }}
136+
137+ # Install release dependencies
138+ - name : Install release dependencies
139+ run : |
140+ python -m pip install --upgrade pip setuptools wheel twine
141+ pip install -r requirements.txt
142+ pip install -r requirements_dev.txt
83143
84144 # Set release output variables
85145 - name : Set output
91151
92152 # Create distributions
93153 - name : Package for release
94- run : python setup.py sdist bdist_wheel
154+ run : python setup.py bdist_wheel
95155
96156 # Upload release asset
97157 - name : Upload release asset
0 commit comments