Skip to content

Commit

Permalink
feat: cleanup and upgrade
Browse files Browse the repository at this point in the history
  • Loading branch information
cofin committed Dec 6, 2024
1 parent a725160 commit c556b2e
Show file tree
Hide file tree
Showing 25 changed files with 1,333 additions and 687 deletions.
138 changes: 0 additions & 138 deletions .github/workflows/ci.yaml

This file was deleted.

219 changes: 219 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@
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@v4

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

- 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@v4
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@v4

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

- 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@v4

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

- 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@v4

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

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

- name: Run slotscheck
run: uv run slotscheck -m litestar_vite

test_js:
name: "test (js ${{ matrix.node-version }})"
runs-on: ubuntu-latest
env:
LITESTAR_BYPASS_ENV_CHECK: 1
strategy:
matrix:
node-version: [18,20]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm run build --if-present

test_python:
name: "test (python ${{ matrix.python-version }})"
strategy:
fail-fast: true
matrix:
python-version: [ "3.11", "3.12"]
uses: ./.github/workflows/test.yml
with:
coverage: ${{ matrix.python-version == '3.12' }}
python-version: ${{ matrix.python-version }}
sonar:
needs:
- test_python
- validate
if: github.event.pull_request.head.repo.fork == false && github.repository_owner == 'litestar-org'
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: coverage-xml

- name: Fix coverage file for sonarcloud
run: sed -i "s/home\/runner\/work\/litestar-vite\/litestar-vite/github\/workspace/g" coverage.xml

# TODO: Re-enable this is configured
# - name: SonarCloud Scan
# uses: sonarsource/sonarcloud-github-action@master
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}

codecov:
needs:
- test_python
- validate
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Download Artifacts
uses: actions/download-artifact@v4
with:
name: coverage-xml
path: coverage.xml
merge-multiple: true

# - name: Combine coverage files
# run: |
# python -Im pip install coverage covdefaults
# python -Im coverage combine
# python -Im coverage xml -i

# - name: Fix coverage file name
# run: sed -i "s/home\/runner\/work\/litestar-vite\/litestar-vite/github\/workspace/g" coverage.xml

- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v5
with:
files: coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
slug: litestar-org/litestar-vite

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@v4

- 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

- name: Check docs links
env:
LITESTAR_DOCS_IGNORE_MISSING_EXAMPLE_OUTPUT: 1
run: uv run make docs-linkcheck

- name: Save PR number
run: |
echo "${{ github.event.number }}" > .pr_number
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: docs-preview
path: |
docs/_build/html
.pr_number
include-hidden-files: true
Loading

0 comments on commit c556b2e

Please sign in to comment.