Skip to content

Add offline policy evaluation module and update dependencies #296

Add offline policy evaluation module and update dependencies

Add offline policy evaluation module and update dependencies #296

# This is a workflow for continuous integration (CI)
name: CI
on:
push:
branches:
- develop
pull_request:
branches:
- develop
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
pydantic-version: [ "1.10.*", "2.*" ]
steps:
- name: Checkout 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
run: |
curl -sSL https://install.python-poetry.org | python3 -
export PATH="$HOME/.poetry/bin:$PATH"
- name: Change pydantic version
run: |
poetry add pydantic@${{ matrix.pydantic-version }} --lock
- name: Cache Poetry virtualenv and dependencies
uses: actions/cache@v4
with:
path: |
~/.cache/pypoetry
~/.local/share/pypoetry/virtualenvs
key: ${{ runner.os }}-poetry-${{ matrix.python-version }}-${{ matrix.pydantic-version }}-${{ hashFiles('poetry.lock') }}
restore-keys: |
${{ runner.os }}-poetry-${{ matrix.python-version }}-${{ matrix.pydantic-version }}-
- name: Install project dependencies with Poetry
run: |
poetry install
- name: Style check
run: |
# run pre-commit hooks
poetry run pre-commit run --all-files
- name: Run tests
run: |
START_TIME=$(date +%s)
poetry run pytest -vv -k 'not time and not update_parallel'
END_TIME=$(date +%s)
DURATION=$((END_TIME - START_TIME))
echo "Tests completed in $DURATION seconds."