feat: Improvements to plugin #191
This file contains hidden or 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: Build PyPI | |
| on: | |
| workflow_call: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| types: | |
| - opened | |
| - reopened | |
| - synchronize | |
| jobs: | |
| linting: | |
| name: Reuse linting job | |
| uses: ./.github/workflows/lint.yml | |
| build: | |
| needs: linting | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out source repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 #full history | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - name: Install and configure Poetry (this should ideally be done from pyproject.toml but..) | |
| uses: snok/install-poetry@v1 | |
| with: | |
| version: 1.8.5 | |
| virtualenvs-create: true | |
| - name: Install poetry-dynamic-versioning | |
| run: poetry self add "poetry-dynamic-versioning[plugin]" | |
| - name: Install dependencies | |
| run: poetry install --with dev | |
| - name: Run unit and integrations tests | |
| run: poetry run pytest --junitxml=build/junit.xml --cov --cov-report=xml:build/coverage.xml tests | |
| - name: Build project | |
| run: poetry build | |
| # Upload artifacts for later use | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist | |
| path: dist/ |