Push CPU Binary Nightly #375
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 CPU Binary Nightly | |
on: | |
# run every day at 11:15am | |
schedule: | |
- cron: '15 11 * * *' | |
# or manually trigger it | |
workflow_dispatch: | |
jobs: | |
unit_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.7, 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 | |
conda install pytorch cpuonly -c pytorch-nightly | |
pip install -r requirements.txt | |
pip install -r dev-requirements.txt | |
python setup.py sdist bdist_wheel | |
pip install dist/*.whl | |
- 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.7 | |
- 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 -r dev-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 --nightly sdist bdist_wheel | |
twine upload --username "$PYPI_USER" --password "$PYPI_TOKEN" dist/* --verbose |