Skip to content

build(deps): bump github/codeql-action from 4.37.6 to 4.38.0 #232

build(deps): bump github/codeql-action from 4.37.6 to 4.38.0

build(deps): bump github/codeql-action from 4.37.6 to 4.38.0 #232

Workflow file for this run

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@v7
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- 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@v6
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@v7
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run mypy
run: uv run mypy app/ tests/
pyright:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- 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@v7
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Run slotscheck
run: uv run slotscheck -m litestar_vite
build_assets:
name: "build assets"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- name: Install Python dependencies
run: uv sync --all-extras --dev
- name: Install frontend dependencies
run: uv run app assets install
- name: Build assets
run: uv run app assets build
- name: Upload built assets
uses: actions/upload-artifact@v7
with:
name: built-assets
path: app/domain/web/public/
retention-days: 1
test_python:
name: "test (python ${{ matrix.python-version }})"
strategy:
fail-fast: true
matrix:
python-version: ["3.11", "3.12", "3.13"]
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@v7
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Download Artifacts
uses: actions/download-artifact@v8
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@v7
- uses: actions/setup-python@v7
with:
python-version: "3.12"
- name: Download Artifacts
uses: actions/download-artifact@v8
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@v7
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@v7
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Set up Python
run: uv python install 3.12
- name: Create public assets directory
run: mkdir -p app/domain/web/public
- 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@v7
with:
name: docs-preview
path: |
docs/_build/html
.pr_number
include-hidden-files: true