Publish to PyPI (or TestPyPI) #28
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
# Adapted from https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/ | |
name: Publish to PyPI (or TestPyPI) | |
on: | |
push: | |
tags: | |
- "release_[0-9]+_test[0-9]+" | |
- "release_[0-9]+" | |
workflow_dispatch: | |
jobs: | |
build-and-publish: | |
name: publish to PyPI (or TestPyPI) | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
package-path: [ml-agents, ml-agents-envs] | |
steps: | |
- uses: actions/checkout@main | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.10.x | |
- name: Install dependencies | |
run: pip install setuptools wheel twine --user | |
- name: verify git tag vs. version | |
run: | | |
cd ${{ matrix.package-path }} | |
python setup.py verify | |
- name: Build package | |
run: | | |
cd ${{ matrix.package-path }} | |
python setup.py sdist | |
python setup.py bdist_wheel | |
- name: Publish distribution 📦 to Test PyPI | |
if: startsWith(github.ref, 'refs/tags') && contains(github.ref, 'test') | |
uses: pypa/gh-action-pypi-publish@master | |
with: | |
password: ${{ secrets.TEST_PYPI_PASSWORD }} | |
repository_url: https://test.pypi.org/legacy/ | |
packages_dir: ${{ matrix.package-path }}/dist/ | |
- name: Publish distribution 📦 to Production PyPI | |
if: startsWith(github.ref, 'refs/tags') && !contains(github.ref, 'test') | |
uses: pypa/gh-action-pypi-publish@master | |
with: | |
password: ${{ secrets.PYPI_PASSWORD }} | |
packages_dir: ${{ matrix.package-path }}/dist/ |