Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.63 KiB
Newer Older
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: continuumio/miniconda3:latest
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.

before_script:
  - conda env create -n ntrfc python=3.9
  - conda activate ntrfc
  - python -m pip install --upgrade pip

stages:          # List of stages for jobs, and their order of execution
  - build
  - test
  - deploy

build-job:       # This job runs in the build stage, which runs first.
  stage: build
  script: 
    - pip install .
test-job:   # This job runs in the test stage.
  stage: test    # It only starts when the job in the build stage completes successfully.
  script:
    - 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
    - ls
    - 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:
    - pip install pytest
    - pytest tests