Files
roboluke/.gitea/workflows/ci.yml
Luke Tainton a47d1f7cd7
All checks were successful
Validate PR Title / validate (pull_request) Successful in 7s
CI / ci (pull_request) Successful in 23s
feat(ci): add SonarQube workflow for code quality analysis
Co-authored-by: Copilot <copilot@github.com>
2026-04-17 19:20:15 +01:00

51 lines
1.2 KiB
YAML

name: CI
on:
pull_request:
types:
- opened
- edited
- synchronize
- reopened
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v6.0.2
with:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v6
with:
python-version: "3.14"
- name: uv cache
uses: actions/cache@v5
with:
path: /tmp/.uv-cache
key: uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
restore-keys: |
uv-${{ runner.os }}-${{ hashFiles('uv.lock') }}
uv-${{ runner.os }}
- name: Install dependencies
run: uv sync
- name: Check Import Sorting
run: uv run isort --check app/ tests/
- name: Lint
run: |
uv run pylint --fail-under=8 --recursive=yes --output-format=parseable --output=lintreport.txt app/ tests/
cat lintreport.txt
- name: Unit Test
run: |
uv run coverage run -m pytest -v --junitxml=testresults.xml
uv run coverage report
- name: Minimize uv cache
run: uv cache prune --ci