Commit 2df43620 authored by Dimitrios Gogos's avatar Dimitrios Gogos
Browse files

feat: add GitLab CI configuration for testing and linting stages

parent c29d1d2a
Loading
Loading
Loading
Loading

.gitlab-ci.yml

0 → 100644
+52 −0
Changes for .gitlab-ci.yml: 52 added lines, 0 removed lines.
Original line number Diff line number Diff line
default:
  image: python:3.12-slim
  cache:
    paths:
      - .cache/uv
  before_script:
    - cd "$CI_PROJECT_DIR/${BACKEND_DIR:-.}"
    - pip install uv
    - export UV_SYSTEM_CERTS=1
    - uv sync --locked --extra dev
    - . .venv/bin/activate

stages:
  - type
  - architecture
  - lint
  - format
  - test

variables:
  UV_CACHE_DIR: "$CI_PROJECT_DIR/.cache/uv"

type:
  stage: type
  script:
    - mypy src/ tests/

architecture:
  stage: architecture
  script:
    - lint-imports

lint:
  stage: lint
  script:
    - ruff check src/ tests/

format:
  stage: format
  script:
    - ruff format --check src/ tests/

test:
  stage: test
  variables:
    DOCKER_HOST: tcp://docker:2375
    DOCKER_TLS_CERTDIR: ""
  services:
    - docker:dind
  script:
    - pytest --cov=src/portal_service --cov-branch --cov-report=term-missing
  coverage: '/TOTAL.+ ([0-9]{1,3}(?:\.[0-9]+)?%)/'