Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.54 KiB
Newer Older
Malte Nyhuis's avatar
Malte Nyhuis committed
image: python:3.10
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
Malte Nyhuis's avatar
Malte Nyhuis committed
    PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"

# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/topics/caching/
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
Malte Nyhuis's avatar
Malte Nyhuis committed
    paths:
        - .cache/pip
        - venv/

before_script:
Malte Nyhuis's avatar
Malte Nyhuis committed
    - python -m pip install --upgrade pip
    - python --version  # For debugging
    - pip install virtualenv
    - virtualenv venv
    - source venv/bin/activate

stages: # List of stages for jobs, and their order of execution
    - test
#  - deploy
Malte Nyhuis's avatar
Malte Nyhuis committed
test: # This job runs in the build stage, which runs first.
    stage: test
    script:
        - apt-get update -y && apt-get install libgl1 -y
        - pip install .
        - pip install pytest
        - pytest tests/.

lint-test-job: # This job also runs in the test stage.
    stage: test    # It can run at the same time as unit-test-job (in parallel).
    script:
        - pip install flake8
        - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude='venv/'
        - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics   --exclude='venv/'

#deploy-job:      # This job runs in the deploy stage.
#  stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.
#  script:
#    - echo "Deploying application..."
#    - echo "Application successfully deployed."