| name: publish pypi | |
| on: | |
| push: | |
| tags: | |
| - '*' | |
| jobs: | |
| pypi-publish: | |
| name: Upload release to PyPI | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: pypi | |
| url: https://pypi.org/p/axolotl | |
| permissions: | |
| id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | |
| steps: | |
| - name: Check out repository code | |
| uses: actions/checkout@v3 | |
| - name: Setup Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.10" | |
| - name: Install dependencies | |
| run: | | |
| pip3 install wheel | |
| pip3 install -e . | |
| pip3 install -r requirements-tests.txt | |
| - name: Extract tag name | |
| id: tag | |
| run: echo ::set-output name=TAG_NAME::$(echo $GITHUB_REF | cut -d / -f 3) | |
| - name: Update version in setup.py | |
| run: >- | |
| sed -i -E 's/version="([0-9.]+)",/version="${{ steps.tag.outputs.TAG_NAME }}",/g' setup.py | |
| - name: Build a binary wheel | |
| run: >- | |
| python setup.py sdist bdist_wheel | |
| - name: Publish package distributions to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 | |