diff --git a/.github/workflows/_checks.yml b/.github/workflows/_checks.yml new file mode 100644 index 0000000..a87943b --- /dev/null +++ b/.github/workflows/_checks.yml @@ -0,0 +1,54 @@ +name: checks + +on: + workflow_call: {} + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: extractions/setup-just@v4 + - uses: astral-sh/setup-uv@v8.2.0 + with: + enable-cache: true + cache-dependency-glob: "**/pyproject.toml" + - run: uv python install 3.13 + - run: just install lint-ci + + pytest: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: + - "3.13" + - "3.14" + services: + postgres: + image: postgres:17 + env: + POSTGRES_USER: outbox + POSTGRES_PASSWORD: outbox + POSTGRES_DB: outbox + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U outbox" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + steps: + - uses: actions/checkout@v6 + - uses: astral-sh/setup-uv@v8.2.0 + with: + enable-cache: true + cache-dependency-glob: "**/pyproject.toml" + - run: uv python install ${{ matrix.python-version }} + - run: | + uv sync --all-extras --no-install-project + uv run --no-sync pytest . --cov=. --cov-report xml + env: + PYTHONDONTWRITEBYTECODE: 1 + PYTHONUNBUFFERED: 1 + POSTGRES_DSN: postgresql+asyncpg://outbox:outbox@127.0.0.1:5432/outbox diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c226fc..751045b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,51 +11,5 @@ concurrency: cancel-in-progress: true jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - uses: extractions/setup-just@v4 - - uses: astral-sh/setup-uv@v8.2.0 - with: - enable-cache: true - cache-dependency-glob: "**/pyproject.toml" - - run: uv python install 3.13 - - run: just install lint-ci - - pytest: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - python-version: - - "3.13" - - "3.14" - services: - postgres: - image: postgres:17 - env: - POSTGRES_USER: outbox - POSTGRES_PASSWORD: outbox - POSTGRES_DB: outbox - ports: - - 5432:5432 - options: >- - --health-cmd "pg_isready -U outbox" - --health-interval 10s - --health-timeout 5s - --health-retries 5 - steps: - - uses: actions/checkout@v6 - - uses: astral-sh/setup-uv@v8.2.0 - with: - enable-cache: true - cache-dependency-glob: "**/pyproject.toml" - - run: uv python install ${{ matrix.python-version }} - - run: | - uv sync --all-extras --no-install-project - uv run --no-sync pytest . --cov=. --cov-report xml - env: - PYTHONDONTWRITEBYTECODE: 1 - PYTHONUNBUFFERED: 1 - POSTGRES_DSN: postgresql+asyncpg://outbox:outbox@127.0.0.1:5432/outbox + checks: + uses: ./.github/workflows/_checks.yml diff --git a/mkdocs.yml b/mkdocs.yml index e8523ef..2906f19 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -4,6 +4,7 @@ repo_url: https://github.com/modern-python/faststream-outbox docs_dir: docs edit_uri: edit/main/docs/ nav: + - Overview: index.md - Introduction: - Installation: introduction/installation.md - How it works: introduction/how-it-works.md