Skip to content

Improving error messages #48

Improving error messages

Improving error messages #48

---
name: CI pipeline
on:
workflow_dispatch:
push:
branches:
- 'v4'
env:
PROJECT_NAME: soda-core
jobs:
check:
name: pre-commit
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run pre-commit
uses: pre-commit/[email protected]
continue-on-error: true
test:
runs-on: ubuntu-24.04
needs: [check]
services:
postgres:
image: "postgres:15.10-alpine3.21"
env:
POSTGRES_USER: soda_test
POSTGRES_DB: soda_test
POSTGRES_HOST_AUTH_METHOD: trust
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
- 5432:5432
strategy:
fail-fast: false
matrix:
python-version:
- "3.10"
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Run tests
run: |
python -m venv .venv
source .venv/bin/activate
pip install pytest python-dotenv requests
pip install -e soda-core
pip install -e soda-postgres
python -m pytest
define-matrix:
runs-on: ubuntu-24.04
needs: [test]
outputs:
modules: ${{ steps.modules.outputs.modules }}
steps:
- uses: actions/checkout@v4
- name: Define modules
id: modules
run: |
echo modules=$(bash scripts/release_matrix.sh) >> "$GITHUB_OUTPUT"
release:
runs-on: ubuntu-24.04
needs: [define-matrix]
strategy:
fail-fast: false
matrix:
modules: ${{ fromJSON(needs.define-matrix.outputs.modules) }}
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Release ${{ matrix.modules }}
run: |
python -m venv .venv
source .venv/bin/activate
pip install tbump build twine
tbump --only-patch --non-interactive 4.0.0.dev${GITHUB_RUN_NUMBER}
cd ${{ matrix.modules }}
python3 -m build
- name: Publish package to pypi
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: ${{ matrix.modules }}/dist
user: ${{ secrets.DEV_PYPI_USERNAME }}
password: ${{ secrets.DEV_PYPI_PASSWORD }}
repository-url: ${{ secrets.DEV_PYPI_URL }}