Skip to content

Update release CI workflow #17

Update release CI workflow

Update release CI workflow #17

Workflow file for this run

name: Code coverage
on:
push:
branches:
- develop
jobs:
code-coverage:
name: Code coverage
runs-on: ubuntu-latest
env:
DJANGO_SETTINGS_MODULE: config.settings.test
DATABASE_ENGINE: django.db.backends.postgresql
DATABASE_NAME: postgres
DATABASE_USER: postgres
DATABASE_PASSWORD: postgres
DATABASE_HOST: localhost
DATABASE_PORT: 5432
services:
postgres:
image: postgres:12.3
env:
POSTGRES_USER: ${{ env.DATABASE_USER }}
POSTGRES_PASSWORD: ${{ env.DATABASE_PASSWORD }}
POSTGRES_DB: ${{ env.DATABASE_NAME }}
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 1s --health-timeout 3s --health-retries 10
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ vars.CI_PYTHON_VERSION }}
- uses: snok/install-poetry@v1
with:
version: ${{ vars.CI_POETRY_VERSION }}
virtualenvs-create: true
virtualenvs-in-project: true
virtualenvs-path: .venv
- id: cached-poetry-dependencies
uses: actions/cache@v3
with:
path: .venv
key: ds-wagtail-venv-${{ runner.os }}-${{ vars.CI_POETRY_VERSION }}-${{ vars.CI_PYTHON_VERSION }}-${{ hashFiles('**/poetry.lock') }}
- name: Install dependencies
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
run: poetry install --no-interaction --no-root
- name: Run Django checks
run: poetry run python manage.py check
- name: Run test suite
run: poetry run coverage run manage.py test etna
- name: Prepare coverage report
run: poetry run coverage xml
- name: Upload coverage report to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: OS,PYTHON_VERSION
fail_ci_if_error: true
move_coverage_to_trash: true