1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- name: Build and publish
- # Run on PR requests. And on master itself.
- on:
- push:
- branches:
- - main # just build the sdist skip release
- tags:
- - "*"
- pull_request: # also build on PRs touching some files
- paths:
- - ".github/workflows/release.yml"
- - "MANIFEST.in"
- - "pyproject.toml"
- jobs:
- build:
- name: Build
- runs-on: ubuntu-latest
- steps:
- - name: Checkout source
- uses: actions/checkout@v3
- - name: Set up Python
- uses: actions/setup-python@v4
- with:
- python-version: "3.10"
- - name: Build a source tarball
- run: |
- python -m pip install build
- python -m build
- - uses: actions/upload-artifact@v3
- with:
- path: ./dist/*
- retention-days: 5
- publish:
- name: Publish on GitHub and PyPI
- needs: [build]
- runs-on: ubuntu-latest
- # release on every tag
- if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/')
- steps:
- - uses: actions/download-artifact@v3
- with:
- name: artifact
- path: dist
- - name: Upload Github release
- id: upload-release-asset
- uses: softprops/action-gh-release@v1
- - name: Upload Release Assets to PyPI
- uses: pypa/gh-action-pypi-publish@release/v1
- with:
- password: ${{ secrets.PYPI_UPLOAD_TOKEN }}
|