Skip to content

Commit

Permalink
feat: uv build and reload improvement (#25)
Browse files Browse the repository at this point in the history
* feat: `uv` build and `reload` improvement

* fix: linting

* chore: updated to 3.9

* fix: linting

* fix: ci updates

* fix: cancel in-progress

* fix: split os tests

* chore: ci adjust

* fix: remove 3.13 for now

* fix: override windows test

* feat: testing

* fix: monkeypatch

* chore: formatting

* fix: remove extra file

* feat: disable docs preview

---------

Co-authored-by: Cody Fincher <[email protected]>
  • Loading branch information
cofin and cofin authored Oct 20, 2024
1 parent e266a40 commit 72bc089
Show file tree
Hide file tree
Showing 41 changed files with 3,457 additions and 894 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/cd.yaml → .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ jobs:
config: pyproject.toml
args: -vv --latest --strip header
env:
OUTPUT: docs/CHANGELOG.rst
OUTPUT: docs/changelog.rst
131 changes: 0 additions & 131 deletions .github/workflows/ci.yaml

This file was deleted.

179 changes: 179 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
name: Tests And Linting

on:
pull_request:
push:
branches:
- main

concurrency:
group: test-${{ github.head_ref }}
cancel-in-progress: true

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install 3.9

- name: Create virtual environment
run: uv sync --all-extras --dev

- name: Install Pre-Commit hooks
run: uv run pre-commit install

- name: Load cached Pre-Commit Dependencies
id: cached-pre-commit-dependencies
uses: actions/cache@v3
with:
path: ~/.cache/pre-commit/
key: pre-commit|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }}

- name: Execute Pre-Commit
run: uv run pre-commit run --show-diff-on-failure --color=always --all-files

mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install 3.9

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Run mypy
run: uv run mypy

pyright:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install 3.9

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Run pyright
run: uv run pyright

slotscheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install 3.9

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Run slotscheck
run: uv run slotscheck litestar_granian

test-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Test
run: uv run pytest -m ""

test-windows:
runs-on: windows-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.12"]
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Test
run: uv run pytest -m ""
test-osx:
runs-on: macos-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.11", "3.12"]
timeout-minutes: 30
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install ${{ matrix.python-version }}

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Test
run: uv run pytest -m ""

build-docs:
needs:
- validate
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v3

- name: Set up Python
run: uv python install 3.12

- name: Install dependencies
run: uv sync --all-extras --dev

- name: Build docs
run: uv run make docs
72 changes: 0 additions & 72 deletions .github/workflows/docs-preview.yaml

This file was deleted.

Loading

0 comments on commit 72bc089

Please sign in to comment.