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