Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.25 KiB
Newer Older
nguyed99's avatar
nguyed99 committed
image: python:3.11-bullseye

nguyed99's avatar
nguyed99 committed
stages:
  - build
nguyed99's avatar
nguyed99 committed
  - format
nguyed99's avatar
nguyed99 committed
  - test-jobs
  - test-tasks

nguyed99's avatar
nguyed99 committed
variables:
nguyed99's avatar
nguyed99 committed
  POETRY_CACHE_DIR: "$CI_PROJECT_DIR/.cache/poetry"
nguyed99's avatar
nguyed99 committed

nguyed99's avatar
nguyed99 committed
cache:
  paths:
nguyed99's avatar
nguyed99 committed
    - .cache/poetry
nguyed99's avatar
nguyed99 committed
build-env:
  stage: build
  script:
nguyed99's avatar
nguyed99 committed
  - pip install poetry
  - poetry --version
  - cd build/
nguyed99's avatar
nguyed99 committed
  - poetry config virtualenvs.in-project true
nguyed99's avatar
nguyed99 committed
  - poetry install --no-root
nguyed99's avatar
nguyed99 committed
  artifacts:
    paths:
      - $POETRY_CACHE_DIR/virtualenvs/
nguyed99's avatar
nguyed99 committed

nguyed99's avatar
nguyed99 committed
format:
nguyed99's avatar
nguyed99 committed
  stage: format
nguyed99's avatar
nguyed99 committed
  script:
nguyed99's avatar
nguyed99 committed
    - export VIRTUALENV_NAME=$(ls $POETRY_CACHE_DIR/virtualenvs)
    - source $POETRY_CACHE_DIR/virtualenvs/$VIRTUALENV_NAME/bin/activate
nguyed99's avatar
nguyed99 committed
    - poetry run pre-commit install
    - poetry run yapf -i -r -p .
    - poetry run ruff .
    - poetry run ruff . --fix

nguyed99's avatar
nguyed99 committed
test-jobs:
nguyed99's avatar
nguyed99 committed
  stage: test-jobs
nguyed99's avatar
nguyed99 committed
  script:
nguyed99's avatar
nguyed99 committed
    - export VIRTUALENV_NAME=$(ls $POETRY_CACHE_DIR/virtualenvs)
    - source $POETRY_CACHE_DIR/virtualenvs/$VIRTUALENV_NAME/bin/activate
nguyed99's avatar
nguyed99 committed
    - export PYTHONPATH="$PYTHONPATH:$CI_PROJECT_DIR/jobs/src"
nguyed99's avatar
nguyed99 committed
    - poetry run pytest jobs/tests/
nguyed99's avatar
nguyed99 committed
test-tasks:
nguyed99's avatar
nguyed99 committed
  stage: test-tasks
nguyed99's avatar
nguyed99 committed
  script:
nguyed99's avatar
nguyed99 committed
    - export VIRTUALENV_NAME=$(ls $POETRY_CACHE_DIR/virtualenvs)
    - source $POETRY_CACHE_DIR/virtualenvs/$VIRTUALENV_NAME/bin/activate
nguyed99's avatar
nguyed99 committed
    - export PYTHONPATH="$PYTHONPATH:$CI_PROJECT_DIR/tasks/src"
nguyed99's avatar
nguyed99 committed
    - poetry run pytest tasks/tests/