Push Release to PyPi #16
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Push Release to PyPi | |
on: | |
workflow_dispatch: | |
jobs: | |
unit_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.8, 3.9] | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v2 | |
- name: Setup conda env | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: "latest" | |
activate-environment: test | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
set -eux | |
conda activate test | |
pip install -r requirements.txt | |
python setup.py sdist bdist_wheel | |
pip install dist/*.whl | |
pip install -r dev-requirements.txt | |
conda install pytorch cpuonly -c pytorch-nightly | |
- name: Run unit tests | |
shell: bash -l {0} | |
run: | | |
set -eux | |
conda activate test | |
pytest tests -vv | |
# TODO figure out how to deduplicate steps | |
upload_to_pypi: | |
needs: unit_tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v2 | |
- name: Setup conda env | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: "latest" | |
activate-environment: test | |
python-version: 3.8 | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
set -eux | |
conda activate test | |
conda install pytorch cpuonly -c pytorch-nightly | |
pip install -r requirements.txt | |
pip install --no-build-isolation -e ".[dev]" | |
- name: Upload to PyPI | |
shell: bash -l {0} | |
env: | |
PYPI_USER: ${{ secrets.PYPI_USER }} | |
PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
set -eux | |
conda activate test | |
pip install twine | |
python setup.py sdist bdist_wheel | |
twine upload --username "$PYPI_USER" --password "$PYPI_TOKEN" dist/* --verbose | |
build_docs: | |
runs-on: ubuntu-latest | |
permissions: | |
# Grant write permission here so that the doc can be pushed to gh-pages branch | |
contents: write | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v2 | |
- name: Setup conda env | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
miniconda-version: "latest" | |
activate-environment: test | |
- name: Install dependencies | |
shell: bash -l {0} | |
run: | | |
set -eux | |
conda activate test | |
pip install -r requirements.txt | |
pip install -r dev-requirements.txt | |
python setup.py sdist bdist_wheel | |
pip install dist/*.whl | |
conda install pytorch cpuonly -c pytorch-nightly | |
- name: Build docs | |
shell: bash -l {0} | |
run: | | |
set -eux | |
conda activate test | |
cd docs | |
pip install -r requirements.txt | |
RELEASE_BUILD=1 make html | |
touch build/html/.nojekyll | |
cd .. | |
- name: Deploy docs to Github pages | |
uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages # The branch the action should deploy to. | |
folder: docs/build/html # The folder the action should deploy. | |
target-folder: stable |