Skip to content

add README

add README #37

Workflow file for this run

name: Continuous Integration
on:
pull_request:
jobs:
ci-python:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install poetry
uses: abatilo/actions-poetry@v2
- name: Setup a local virtual environment (if no poetry.toml file)
run: |
poetry config virtualenvs.create true --local
poetry config virtualenvs.in-project true --local
- uses: actions/cache@v3
name: Define a cache for the virtual environment based on the dependencies lock file
with:
path: ./.venv
key: venv-${{ hashFiles('poetry.lock') }}
- name: Install the project dependencies
run: poetry install
- name: Run unit tests
run: poetry run pytest
- name: Run lint
run: poetry run ruff --output-format=github .
integration-tests:
strategy:
matrix:
dialect: [ mysql, postgresql, sqlite ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install poetry
uses: abatilo/actions-poetry@v2
- name: Setup a local virtual environment (if no poetry.toml file)
run: |
poetry config virtualenvs.create true --local
poetry config virtualenvs.in-project true --local
- uses: actions/cache@v3
name: Define a cache for the virtual environment based on the dependencies lock file
with:
path: ./.venv
key: venv-${{ hashFiles('poetry.lock') }}
- name: Install the project dependencies
run: poetry install
- name: Install atlas
uses: ariga/setup-atlas@master
- name: Run Test as Standalone
working-directory: ./tests
run: |
atlas migrate diff --env sqlalchemy -c "file://atlas-standalone.hcl" --var dialect=${{ matrix.dialect }}
- name: Verify migrations generated
working-directory: ./tests
run: |
status=$(git status . --porcelain)
if [ -n "$status" ]; then
echo "you need to run 'atlas migrate diff --env sqlalchemy' and commit the changes"
echo "$status"
git --no-pager diff
exit 1
fi
- name: Run Test as Script
working-directory: ./tests
run: |
export PYTHONPATH=$PYTHONPATH:$(cd ../ && pwd)
atlas migrate diff --env sqlalchemy -c "file://atlas-script.hcl" --var dialect=${{ matrix.dialect }}
- name: Verify migrations generated
working-directory: ./tests
run: |
status=$(git status . --porcelain)
if [ -n "$status" ]; then
echo "you need to run 'atlas migrate diff --env sqlalchemy' and commit the changes"
echo "$status"
git --no-pager diff
exit 1
fi