Skip to content

[DCS-195] add sql server integration #384

[DCS-195] add sql server integration

[DCS-195] add sql server integration #384

Workflow file for this run

name: CI
on:
push:
branches:
- 'main'
- 'releases/**'
pull_request:
branches:
- 'main'
- 'releases/**'
jobs:
style:
name: Check the code style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
- uses: pre-commit/action@v3.0.0
pytest_unit:
name: Pytest Unit Tests with all supported python versions
strategy:
matrix:
python-version: [ "3.9", "3.12" ]
runs-on: ubuntu-latest
needs:
- style
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.1
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@v2
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 --no-interaction --no-root
#----------------------------------------------
# install your root project, if required
#----------------------------------------------
- name: Install library
run: poetry install --no-interaction --all-extras
#-----------------------------------------
# Run Pytest
#---------------------------------------
- name: Run tests
run: |
source .venv/bin/activate
pytest -p no:warnings --ignore=tests/integration/
pytest:
if: false
name: Pytest with Codecov
strategy:
matrix:
python-version: [ "3.9" ]
runs-on: ubuntu-latest
needs:
- pytest_unit
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
#----------------------------------------------
# ----- install & configure poetry -----
#----------------------------------------------
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: 1.4.1
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@v2
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 --no-interaction --no-root
#----------------------------------------------
# install your root project, if required
#----------------------------------------------
- name: Install library
run: poetry install --no-interaction --all-extras
#-----------------------------------------
# Run Pytest
#---------------------------------------
- name: Run tests
run: |
source .venv/bin/activate
pytest --cov=datachecks --cov-report=xml -p no:warnings ./tests/*
#-----------------------------------------
# Run Pytest
#---------------------------------------
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3