Migrate code to use Pydantic V2 #159
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
--- | |
name: Test/Coverage with Python | |
on: | |
push: | |
branches: | |
- dev | |
- main | |
pull_request: | |
branches: | |
- "*" | |
jobs: | |
tests: | |
runs-on: ubuntu-22.04 | |
services: | |
postgres: | |
image: postgres:15.1 | |
ports: | |
- 5432:5432 | |
env: | |
POSTGRES_USER: aleph | |
POSTGRES_PASSWORD: decentralize-everything | |
POSTGRES_DATABASE: aleph | |
redis: | |
image: redis:7.0.10 | |
ports: | |
- 127.0.0.1:6379:6379 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
# Fetch the whole history for all tags and branches (required for aleph.__version__) | |
fetch-depth: 0 | |
- name: Set up Python 3.12 | |
id: setup-python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.12 | |
- name: Install latest Rust nightly toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Set rust to nightly | |
run: | | |
rustup default nightly # Required to build some dependencies | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/pip | |
key: ${{ runner.os }}-pytest-${{ hashFiles('pyproject.toml') }} | |
restore-keys: | | |
${{ runner.os }}-pytest-${{ hashFiles('pyproject.toml') }} | |
- name: Install needed dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libpq-dev libsodium-dev libgmp-dev | |
- run: | | |
pip install hatch coverage | |
- run: | | |
sudo cp .github/openssl-ci.cnf /etc/ssl/openssl.cnf | |
export OPENSSL_CONF=/etc/ssl/openssl.cnf | |
touch config.yml # Fake config file for alembic | |
# TODO: determine why ResourceWarning warnings occur in some tests. | |
hatch run testing:test | |
- run: | | |
hatch run testing:cov | |
- uses: codecov/codecov-action@v4.0.1 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: aleph-im/aleph-sdk-python |