From 33ad137c468d169559d7c728ec14c2e73ba43412 Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 10:52:54 +0100 Subject: [PATCH 1/7] ci: initial setup of CI --- .gitlab-ci.yml | 26 ++++++++++++++++++++++++++ requirements.txt | 0 requirements_dev.txt | 4 ++++ setup.cfg | 3 +++ 4 files changed, 33 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 requirements.txt create mode 100644 requirements_dev.txt create mode 100644 setup.cfg diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..c1d2445 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,26 @@ +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 + + 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..8a8c25e --- /dev/null +++ b/requirements_dev.txt @@ -0,0 +1,4 @@ +flake8 +flake8-docstrings +pytest +mypy 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 -- GitLab From 6c54c9a032bd03638d35446e3ab20dc079604d1b Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:20:32 +0100 Subject: [PATCH 2/7] ci: added setup and init for ci --- setup.py | 12 ++++++++++++ src/__init__.py | 1 + 2 files changed, 13 insertions(+) create mode 100644 setup.py create mode 100644 src/__init__.py diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..f0ad378 --- /dev/null +++ b/setup.py @@ -0,0 +1,12 @@ +from setuptools import setup, find_packages +import src + +setup( + name='src', + 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..c57bfd5 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ +__version__ = '0.0.0' -- GitLab From a86493905d05508fcdf4b55451314e21a37d6515 Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:26:46 +0100 Subject: [PATCH 3/7] style: added correct docstrings --- setup.py | 4 ++++ src/__init__.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/setup.py b/setup.py index f0ad378..85e5c86 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,12 @@ +"""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__, diff --git a/src/__init__.py b/src/__init__.py index c57bfd5..46fb593 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1 +1,3 @@ +"""Placeholder package.""" + __version__ = '0.0.0' -- GitLab From 2f98688cc1e6bb81988cd92001a99322fd5da74f Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:28:26 +0100 Subject: [PATCH 4/7] fix: added missing requirement --- requirements_dev.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements_dev.txt b/requirements_dev.txt index 8a8c25e..a382a35 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -2,3 +2,4 @@ flake8 flake8-docstrings pytest mypy +coverage -- GitLab From 3d5298ea4e099ebd6e57b75e1d758ef9509751c7 Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:37:52 +0100 Subject: [PATCH 5/7] ci: added dummy test for pipeline --- tests/__init__.py | 1 + tests/test_dummy.py | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 tests/__init__.py create mode 100644 tests/test_dummy.py 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..e4e7fdb --- /dev/null +++ b/tests/test_dummy.py @@ -0,0 +1,6 @@ +"""Placeholder test for pipeline.""" + + +def test_dummy(): + """Placeholder function for pipeline.""" + assert True -- GitLab From 04dca82149d5bf664c0eb19ff06cfca5afc19b48 Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:44:05 +0100 Subject: [PATCH 6/7] test: written test to asssert semantic versioning --- tests/test_dummy.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tests/test_dummy.py b/tests/test_dummy.py index e4e7fdb..73a5117 100644 --- a/tests/test_dummy.py +++ b/tests/test_dummy.py @@ -1,6 +1,10 @@ """Placeholder test for pipeline.""" +import src +import re -def test_dummy(): - """Placeholder function for pipeline.""" - assert True + +def test_version(): + """Assert that version matches semantic versioning format.""" + + assert re.match(r'\d\.\d\.\d', src.__version__) -- GitLab From 4297aad4b603b5c0eefe9762e0d4f379bc49a25c Mon Sep 17 00:00:00 2001 From: TheRiPtide <g.zaugg97@gmail.com> Date: Wed, 10 Nov 2021 11:46:04 +0100 Subject: [PATCH 7/7] ci: added missing requirements --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c1d2445..24e6cbf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,6 +21,11 @@ qc_1: test_1: stage: test + before_script: + - pip install -r requirements.txt + - pip install -r requirements_dev.txt + - pip install -e . + script: - python -m pytest -- GitLab