name: CI on: push: branches: [main] pull_request: branches: [main] jobs: # Lint lint-python: name: Ruff (lint + format) runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: Install dependencies run: uv sync - name: Ruff lint run: uv run ruff check . - name: Ruff format check run: uv run ruff format --check . lint-sql: name: SQLFluff runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: Install dependencies run: uv sync - name: SQLFluff lint run: uv run sqlfluff lint dbt/models data_platform/ --dialect postgres lint-yaml-json-md: name: Prettier (YAML / JSON / Markdown) runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version: "20" - name: Install prettier run: npm install --global prettier - name: Prettier check run: | prettier --check \ "**/*.yml" "**/*.yaml" "**/*.md" \ --ignore-path .prettierignore # Tests test: name: Pytest runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v5 with: enable-cache: true - name: Install dependencies run: uv sync - name: Run tests run: uv run pytest