From d2315040fdfdbd07bedd0a41d54705fb281e3383 Mon Sep 17 00:00:00 2001 From: Gregory Zaugg <gregory.zaugg@stud.unibas.ch> Date: Wed, 10 Nov 2021 10:49:37 +0000 Subject: [PATCH] ci: implement ci pipeline --- .gitlab-ci.yml | 31 +++++++++++++++++++++++++++++++ requirements.txt | 0 requirements_dev.txt | 5 +++++ setup.cfg | 3 +++ setup.py | 16 ++++++++++++++++ src/__init__.py | 3 +++ tests/__init__.py | 1 + tests/test_dummy.py | 10 ++++++++++ 8 files changed, 69 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 requirements.txt create mode 100644 requirements_dev.txt create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 src/__init__.py create mode 100644 tests/__init__.py create mode 100644 tests/test_dummy.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..24e6cbf --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,31 @@ +image: python:3.9-slim-buster + +stages: + - qc + - test + +qc_1: + stage: qc + + before_script: + - pip install -r requirements.txt + - pip install -r requirements_dev.txt + - pip install -e . + + script: + - flake8 src/ setup.py + - coverage run --source src/ -m pytest + - coverage report --fail-under=100 + - mypy src/ + +test_1: + stage: test + + before_script: + - pip install -r requirements.txt + - pip install -r requirements_dev.txt + - pip install -e . + + script: + - python -m pytest + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/requirements_dev.txt b/requirements_dev.txt new file mode 100644 index 0000000..a382a35 --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,5 @@ +flake8 +flake8-docstrings +pytest +mypy +coverage diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..1d48b94 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +[flake8] +max-line-length = 120 +docstring-convention = google \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..85e5c86 --- /dev/null +++ b/setup.py @@ -0,0 +1,16 @@ +"""Setup the package.""" + +from setuptools import setup, find_packages +import src + + +setup( + name='src', + author='Zavolan Lab, Biozentrum, University of Basel', + url='https://git.scicore.unibas.ch/zavolan_group/pipelines/scrna-seq-simulation', + license='MIT', + version=src.__version__, + install_requires=[], + entrypoints={}, + packages=find_packages() +) diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..46fb593 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,3 @@ +"""Placeholder package.""" + +__version__ = '0.0.0' diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..024d7a5 --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1 @@ +"""Tests for the package src.""" diff --git a/tests/test_dummy.py b/tests/test_dummy.py new file mode 100644 index 0000000..73a5117 --- /dev/null +++ b/tests/test_dummy.py @@ -0,0 +1,10 @@ +"""Placeholder test for pipeline.""" + +import src +import re + + +def test_version(): + """Assert that version matches semantic versioning format.""" + + assert re.match(r'\d\.\d\.\d', src.__version__) -- GitLab