Skip to content

codecov to CI

codecov to CI #2

Workflow file for this run

name: ci
on:
push:
tags:
- v*
pull_request:
branches: [main]
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
with:
python-version: "3.10"
- uses: pre-commit/[email protected]
build:
needs: [pre-commit]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11.8"]
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
- name: Set up python ${{ matrix.python-version }}
id: setup-python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
#----------------------------------------------
# install & configure poetry
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
virtualenvs-create: true
virtualenvs-in-project: true
installer-parallel: true
#----------------------------------------------
# load cached venv if cache exists
#----------------------------------------------
- name: Load cached venv
id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }}
#----------------------------------------------
# install dependencies if cache does not exist
#----------------------------------------------
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --all-extras --no-interaction
#----------------------------------------------
# perform tasks
#----------------------------------------------
- name: Tests
run: poetry run pytest --cov
- name: Deploy doc
if: contains(github.ref, 'tags')
run: poetry run mkdocs gh-deploy --force
- name: Upload results to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
# publish:
# needs: [build]
# if: contains(github.ref, 'tags')
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: Build and publish to pypi
# uses: JRubics/[email protected]
# with:
# python_version: "3.10"
# pypi_token: ${{ secrets.PYPI_TOKEN }}