Merge pull request #240 from pivoshenko/dependabot/pip/poethepoet-0.26.1 #452
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
# Requires GitHub secrets | |
# - CODECOV_TOKEN | |
name: CI | |
on: | |
pull_request: | |
branches: ["main"] | |
push: | |
branches: ["main"] | |
jobs: | |
linters: | |
name: Run linters | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
id: checkout-repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Python | |
id: install-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11 | |
architecture: x64 | |
- name: Install dependencies | |
id: install-dependencies | |
run: | | |
python -m pip install -U pip setuptools poetry | |
python -m poetry install | |
python -m poetry self add 'poethepoet[poetry_plugin]' | |
- name: Run linters | |
id: run-linters | |
run: | | |
python -m poetry lint | |
tests: | |
name: Run tests | |
needs: linters | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] | |
steps: | |
- name: Checkout repository | |
id: checkout-repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install Python | |
id: install-python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
id: install-dependencies | |
run: | | |
python -m pip install -U pip setuptools poetry | |
python -m poetry install --only main --only tests | |
python -m poetry self add 'poethepoet[poetry_plugin]' | |
- name: Run tests | |
id: run-tests | |
run: | | |
python -m poetry tests | |
- name: Upload coverage to Codecov | |
id: upload-coverage-to-codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
name: ${{ matrix.os }}, ${{ matrix.python-version }} |