Files
cleverclaude-core/.forgejo/workflows/ci.yml
T
2025-08-10 00:20:59 +00:00

128 lines
2.6 KiB
YAML

name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
env:
UV_VERSION: "0.8.0"
PYTHON_VERSION: "3.13"
jobs:
lint:
runs-on: docker
container:
image: python:3.13-slim
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
pip install -q uv==${{ env.UV_VERSION }}
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
- name: Run ruff format check
run: |
ruff format --check .
- name: Run ruff lint
run: |
ruff check .
typecheck:
runs-on: docker
container:
image: python:3.13-slim
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
pip install -q uv==${{ env.UV_VERSION }}
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
- name: Run pyright
run: |
pyright
behave:
runs-on: docker
strategy:
matrix:
python-version: ["3.11", "3.12", "3.13"]
container:
image: python:${{ matrix.python-version }}-slim
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
pip install -q uv==${{ env.UV_VERSION }}
- name: Install dependencies
run: |
uv pip install --system -e .[dev]
- name: Run behaviour tests
run: |
behave -q
build:
runs-on: docker
container:
image: python:3.13-slim
steps:
- uses: actions/checkout@v4
- name: Install uv
run: |
pip install -q uv==${{ env.UV_VERSION }}
- name: Build wheel
run: |
uv pip install --system build
python -m build --wheel
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
docker:
needs: [lint, typecheck, behave]
runs-on: docker
steps:
- uses: actions/checkout@v4
- name: Build Docker image
run: |
docker build -t cleverclaude:test .
- name: Test Docker image
run: |
docker run --rm cleverclaude:test --version
helm:
needs: [lint, typecheck, behave]
runs-on: docker
container:
image: alpine/helm:latest
steps:
- uses: actions/checkout@v4
- name: Lint Helm chart
run: |
helm lint k8s/
- name: Template Helm chart
run: |
helm template test k8s/