poetry==2.0.1 (#98) #293
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
name: CI | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- '[0-9]+.[0-9]+.[0-9]+' | |
pull_request: | |
env: | |
POETRY_VIRTUALENVS_CREATE: false | |
jobs: | |
quality: | |
name: Code quality | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout git repository π | |
uses: actions/checkout@v4 | |
- name: Set up python3.12 π | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Install poetry π¦ | |
uses: Gr1N/setup-poetry@v9 | |
with: | |
poetry-version: 2.0.1 | |
- name: Load poetry cached libs β¬ | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry | |
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} | |
restore-keys: ${{ runner.os }}-poetry | |
- name: Install dependencies π₯ | |
run: poetry install --no-interaction | |
- name: Lint π | |
run: make lint | |
- name: Check types w/ mypy π | |
run: make types | |
test: | |
name: Run tests | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] | |
steps: | |
- name: Checkout git repository π | |
uses: actions/checkout@v4 | |
- name: Set up python ${{ matrix.python-version }} π | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install poetry π¦ | |
uses: Gr1N/setup-poetry@v9 | |
with: | |
poetry-version: 2.0.1 | |
- name: Load poetry cached libs β¬ | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pypoetry | |
key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} | |
restore-keys: ${{ runner.os }}-poetry | |
- name: Install dependencies π₯ | |
run: | | |
poetry install --no-interaction | |
- name: Test code π | |
run: make test | |
- name: Send Coverage Report π | |
if: matrix.python-version == 3.12 && matrix.os == 'ubuntu-latest' | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_SERVICE_NAME: github | |
run: poetry run coveralls | |
docs: | |
name: Test Docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout git repository π | |
uses: actions/checkout@v4 | |
- name: Set up Python3.11 π | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
- name: Install poetry π¦ | |
uses: Gr1N/setup-poetry@v9 | |
with: | |
poetry-version: 2.0.1 | |
- name: Install dependencies π₯ | |
run: poetry install --no-interaction --extras "docs" | |
- name: Build docs βοΈ | |
run: make docs | |
# TODO: /bin/sh: 1: sphinx-build: not found, e.g. https://github.com/capellaspace/console-client/actions/runs/3115544245/jobs/5052547042 | |
continue-on-error: true | |
# deploy: | |
# name: Deploy to PyPI | |
# runs-on: ubuntu-latest | |
# # deploy will only be run when there is a tag available | |
# if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') | |
# needs: [quality, test, docs] # only run after all other stages succeeded | |
# steps: | |
# - name: Checkout git repository π | |
# uses: actions/checkout@v4 | |
# - name: Set up python3.8 π | |
# uses: actions/setup-python@v5 | |
# with: | |
# python-version: 3.8 | |
# - name: Install poetry π¦ | |
# uses: Gr1N/setup-poetry@v7 | |
# with: | |
# poetry-version: 1.6.1 | |
# - name: Build βοΈ distributions | |
# run: | | |
# poetry build | |
# poetry publish -u __token__ -p ${{ secrets.PYPI_TOKEN }} |