Skip to content

Commit 88392b2

Browse files
committed
BLD: Update GitHub release workflows
1 parent 5aebd59 commit 88392b2

File tree

1 file changed

+70
-10
lines changed

1 file changed

+70
-10
lines changed

.github/workflows/release.yml

Lines changed: 70 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ on:
1111
- completed
1212

1313
jobs:
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 }}
@@ -27,7 +27,7 @@ jobs:
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
@@ -63,7 +63,7 @@ jobs:
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
@@ -91,7 +151,7 @@ jobs:
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

Comments
 (0)