when:
  event:
  - push
  - pull_request
steps:
  lint-python:
    image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
    commands:
    - pip install ruff==0.15.10 --quiet
    - ruff --version
    - ruff check --output-format=concise .
    backend_options:
      kubernetes:
        resources:
          requests:
            memory: 256Mi
            cpu: 200m
          limits:
            memory: 512Mi
            cpu: 1000m
    depends_on: []
  test-python:
    image: registry.celestium.life/dockerhub-cache/library/python:3.12-slim
    commands:
    - pip install -r requirements.txt --quiet
    - pip install hypothesis --quiet
    - pytest tests/ -x --tb=short -q --ignore=tests/integration
    backend_options:
      kubernetes:
        resources:
          requests:
            memory: 512Mi
            cpu: 500m
          limits:
            memory: 1Gi
            cpu: 2000m
    depends_on: []
  test-frontend:
    image: registry.celestium.life/dockerhub-cache/library/node:24-slim
    commands:
    - cd frontend
    - npm ci
    - npx vitest --run
    backend_options:
      kubernetes:
        resources:
          requests:
            memory: 512Mi
            cpu: 500m
          limits:
            memory: 1Gi
            cpu: 2000m
    depends_on: []
