# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. name: Release on: push: branches: - main permissions: # added using https://github.com/step-security/secure-workflows contents: read jobs: build: runs-on: ubuntu-latest strategy: matrix: container: [ "python:3.10" ] container: image: ${{ matrix.container }} steps: - uses: actions/checkout@v2 - name: Cache virtualenvironment uses: actions/cache@v2 with: path: ~/.venv key: ${{ hashFiles('requirements.txt', 'requirements-dev.txt') }} - name: Upgrade pip run: pip install --upgrade pip - name: Create and activate Virtualenv run: | pip install virtualenv [ ! -d ".venv" ] && virtualenv .venv . .venv/bin/activate - name: Install dependencies run: pip install -r requirements.txt - name: Install pypa/build run: >- python -m pip install build --user - name: Build a binary wheel and a source tarball run: >- python -m build --sdist --wheel --outdir dist/ . - name: Publish a Python distribution to PyPI uses: pypa/gh-action-pypi-publish@release/v1 with: password: ${{ secrets.PYPI_API_TOKEN }}