From fc76deaeac4a2268803ad2b482db8700afde545f Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:28:08 +0100
Subject: [PATCH 01/10] Add mkdocs

---
 .gitignore                      |  1 +
 .gitlab-ci.yml                  |  2 ++
 .gitlab/ci/doc.yml              | 22 +++++++++++++++
 doc/index.md                    |  7 +++++
 mkdocs.yml                      | 47 +++++++++++++++++++++++++++++++++
 python_test_project/__init__.py |  2 +-
 6 files changed, 80 insertions(+), 1 deletion(-)
 create mode 100644 .gitlab/ci/doc.yml
 create mode 100644 doc/index.md
 create mode 100755 mkdocs.yml

diff --git a/.gitignore b/.gitignore
index 99dfdb9..6c78d47 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 *venv/
 *.egg-info/
 __pycache__/
+public*/
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3614f61..4217a16 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,7 @@
 include:
   - '.gitlab/ci/static-analysis.yml'
   - '.gitlab/ci/docker.yml'
+  - '.gitlab/ci/doc.yml'
 
 variables:
   STATIC_ANALYSIS_IMG_TAG: "3.12"
@@ -15,6 +16,7 @@ stages:
   - Pre-Build
   - Build
   - Static Analysis
+  - Documentation
   - Push
 
 
diff --git a/.gitlab/ci/doc.yml b/.gitlab/ci/doc.yml
new file mode 100644
index 0000000..cb5f0e5
--- /dev/null
+++ b/.gitlab/ci/doc.yml
@@ -0,0 +1,22 @@
+.doc_base:
+  image: python:3.12:slim
+  stage: Documentation
+  before_script:
+    - pip install -r doc/doc_requirements.txt
+
+pages_test:
+  extends: .doc_base
+  except:
+    - main
+    - tags
+  script:
+    - mkdocs build --site-dir public_test
+
+pages:
+  extends: .doc_base
+  only: [main]
+  script:
+    - mkdocs build --site-dir public
+  artifacts:
+    paths:
+      - public
diff --git a/doc/index.md b/doc/index.md
new file mode 100644
index 0000000..b77812b
--- /dev/null
+++ b/doc/index.md
@@ -0,0 +1,7 @@
+# Pycode quality
+
+This project contains python tools to improve quality of projects of Montpellier CDOS.
+
+## Contact
+
+Rémi Cresson at INRAE dot fr
diff --git a/mkdocs.yml b/mkdocs.yml
new file mode 100755
index 0000000..a287503
--- /dev/null
+++ b/mkdocs.yml
@@ -0,0 +1,47 @@
+# mkdocs.yml
+theme:
+  name: "material"
+  features:
+    - content.code.annotate
+    - toc.follow
+    - navigation.instant
+    - content.code.copy
+
+plugins:
+- search
+- literate-nav:
+    nav_file: SUMMARY.md
+- section-index
+- mermaid2
+
+nav:
+- Home: index.md
+
+# Customization
+extra:
+  feature:
+    tabs: true
+
+markdown_extensions:
+  - attr_list
+  - admonition
+  - toc:
+      permalink: true
+      title: On this page
+      toc_depth: 1-3
+  - mkdocs-click
+  - pymdownx.highlight:
+      anchor_linenums: true
+  - pymdownx.inlinehilite
+  - pymdownx.snippets
+  - pymdownx.details
+  - pymdownx.superfences
+  - pymdownx.emoji:
+      emoji_index: !!python/name:materialx.emoji.twemoji
+      emoji_generator: !!python/name:materialx.emoji.to_svg
+
+# rest of the navigation..
+site_name: Python code quality
+repo_url: https://forgemia.inra.fr/cdos-pub/pycode-quality/
+repo_name: pycode-quality
+docs_dir: doc/
diff --git a/python_test_project/__init__.py b/python_test_project/__init__.py
index b8bb207..90d2509 100644
--- a/python_test_project/__init__.py
+++ b/python_test_project/__init__.py
@@ -1,3 +1,3 @@
 """Python test project."""
 
-__version__ = "0.1.1"
+__version__ = "0.1.2"
-- 
GitLab


From 07482dcae8cbb0899766262e1de2a31bc46fe4ea Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:31:41 +0100
Subject: [PATCH 02/10] Fix doc img

---
 .gitlab/ci/doc.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab/ci/doc.yml b/.gitlab/ci/doc.yml
index cb5f0e5..ad8561e 100644
--- a/.gitlab/ci/doc.yml
+++ b/.gitlab/ci/doc.yml
@@ -1,5 +1,5 @@
 .doc_base:
-  image: python:3.12:slim
+  image: python:3.12-slim
   stage: Documentation
   before_script:
     - pip install -r doc/doc_requirements.txt
-- 
GitLab


From 585a374a3698fcb8afd1e34b88aaf20101b4fa6c Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:35:06 +0100
Subject: [PATCH 03/10] Add doc reqs

---
 doc/doc_requirements.txt | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 doc/doc_requirements.txt

diff --git a/doc/doc_requirements.txt b/doc/doc_requirements.txt
new file mode 100644
index 0000000..4f59692
--- /dev/null
+++ b/doc/doc_requirements.txt
@@ -0,0 +1,7 @@
+mkdocstrings
+mkdocstrings[crystal,python]
+mkdocs-material
+mkdocs-gen-files
+mkdocs-section-index
+mkdocs-literate-nav
+mkdocs-mermaid2-plugin
-- 
GitLab


From 4b1f7975abc1921b322ef52144740993fc01ed88 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:38:05 +0100
Subject: [PATCH 04/10] Fix missing package

---
 mkdocs.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/mkdocs.yml b/mkdocs.yml
index a287503..2a1d4e3 100755
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -29,7 +29,6 @@ markdown_extensions:
       permalink: true
       title: On this page
       toc_depth: 1-3
-  - mkdocs-click
   - pymdownx.highlight:
       anchor_linenums: true
   - pymdownx.inlinehilite
-- 
GitLab


From 410518720fe1954e9b7bb5317801ff28823196c4 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:41:25 +0100
Subject: [PATCH 05/10] Add python ship

---
 .gitlab-ci.yml             |  9 +++++++--
 .gitlab/ci/python-ship.yml | 12 ++++++++++++
 2 files changed, 19 insertions(+), 2 deletions(-)
 create mode 100644 .gitlab/ci/python-ship.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4217a16..9484a3e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,24 +2,29 @@ include:
   - '.gitlab/ci/static-analysis.yml'
   - '.gitlab/ci/docker.yml'
   - '.gitlab/ci/doc.yml'
+  - '.gitlab/ci/python-ship.yml'
 
 variables:
-  STATIC_ANALYSIS_IMG_TAG: "3.12"
-
   PYTHON_IMG: python:3.12-slim
   STATIC_ANALYSIS_IMG: $CI_REGISTRY_IMAGE/python-static-analysis:$STATIC_ANALYSIS_IMG_TAG
   IMPL_MODULE_NAME: python_test_project
 
   DEV_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
 
+  # Specific to this repo
+  STATIC_ANALYSIS_IMG_TAG: "3.12"
+
+
 stages:
   - Pre-Build
   - Build
   - Static Analysis
   - Documentation
+  - Build pip package
   - Push
 
 
+
 # ------------------------------ Build Linters docker images ------------------------------
 # Specific to this repo, no need to copy in repos using this image.
   
diff --git a/.gitlab/ci/python-ship.yml b/.gitlab/ci/python-ship.yml
new file mode 100644
index 0000000..c1195b2
--- /dev/null
+++ b/.gitlab/ci/python-ship.yml
@@ -0,0 +1,12 @@
+Build pip package:
+  stage: Ship package
+  only: [tags]
+  variables:
+    PRVTOKEN: "\"PRIVATE-TOKEN: ${CI_JOB_TOKEN}\""
+    PIP_PACKAGE_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi"
+    TWINE_USERNAME: gitlab-ci-token 
+    TWINE_PASSWORD: ${CI_JOB_TOKEN} 
+  script:
+    - pip install build twine
+    - python -m build
+    - python -m twine upload --verbose --repository-url $PIP_PACKAGE_URL dist/*
-- 
GitLab


From aa00057e80794d12512995cc4559f16a574a3602 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:42:17 +0100
Subject: [PATCH 06/10] Fix stage name

---
 .gitlab-ci.yml             | 2 +-
 .gitlab/ci/python-ship.yml | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9484a3e..d61324b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,7 +20,7 @@ stages:
   - Build
   - Static Analysis
   - Documentation
-  - Build pip package
+  - Pip
   - Push
 
 
diff --git a/.gitlab/ci/python-ship.yml b/.gitlab/ci/python-ship.yml
index c1195b2..32cbb15 100644
--- a/.gitlab/ci/python-ship.yml
+++ b/.gitlab/ci/python-ship.yml
@@ -1,5 +1,5 @@
 Build pip package:
-  stage: Ship package
+  stage: Pip
   only: [tags]
   variables:
     PRVTOKEN: "\"PRIVATE-TOKEN: ${CI_JOB_TOKEN}\""
-- 
GitLab


From 94e9c75a27d550fbc9d0160d45ef93e7f95b64b1 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:44:32 +0100
Subject: [PATCH 07/10] Rename docker img vars

---
 .gitlab/ci/docker.yml | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/.gitlab/ci/docker.yml b/.gitlab/ci/docker.yml
index 5048075..d600913 100644
--- a/.gitlab/ci/docker.yml
+++ b/.gitlab/ci/docker.yml
@@ -1,6 +1,6 @@
 variables:
+  IMAGE_PREFIX: $CI_REGISTRY_IMAGE
   DEV_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
-  PROD_IMAGE_PREFIX: $CI_REGISTRY_IMAGE
 
 .docker_build_base:
   image: docker:latest
@@ -27,8 +27,8 @@ Ship:
   extends: .docker_build_base
   only: [main]
   script:
-    - docker build --build-arg IMG=$PYTHON_IMG --tag $PROD_IMAGE_PREFIX:latest .
-    - docker push $PROD_IMAGE_PREFIX:latest
+    - docker build --build-arg IMG=$PYTHON_IMG --tag $IMAGE_PREFIX:latest .
+    - docker push $IMAGE_PREFIX:latest
 
-    - docker tag $PROD_IMAGE_PREFIX:latest $PROD_IMAGE_PREFIX:$VERSION
-    - docker push $PROD_IMAGE_PREFIX:$VERSION
+    - docker tag $IMAGE_PREFIX:latest $IMAGE_PREFIX:$VERSION
+    - docker push $IMAGE_PREFIX:$VERSION
-- 
GitLab


From 581ffca928fbfe3b12a4f6d17035d14396bbe2d8 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 09:54:49 +0100
Subject: [PATCH 08/10] Update docker image stage name

---
 .gitlab-ci.yml        | 2 +-
 .gitlab/ci/docker.yml | 3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d61324b..89dae17 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,7 +21,7 @@ stages:
   - Static Analysis
   - Documentation
   - Pip
-  - Push
+  - Docker image
 
 
 
diff --git a/.gitlab/ci/docker.yml b/.gitlab/ci/docker.yml
index d600913..fdfbab5 100644
--- a/.gitlab/ci/docker.yml
+++ b/.gitlab/ci/docker.yml
@@ -3,6 +3,7 @@ variables:
   DEV_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_BRANCH
 
 .docker_build_base:
+  stage: Docker image
   image: docker:latest
   retry: 2 # Often crashes
   services:
@@ -15,7 +16,6 @@ variables:
     - echo $VERSION
 
 Build dev image:
-  stage: Build
   extends: .docker_build_base
   except: [main]
   script:
@@ -23,7 +23,6 @@ Build dev image:
     - docker push $DEV_IMAGE
 
 Ship:
-  stage: Push
   extends: .docker_build_base
   only: [main]
   script:
-- 
GitLab


From 7bdb6382683f6f21d268d6eb890897d5db3d540a Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 10:56:39 +0100
Subject: [PATCH 09/10] Remove pip from self ci

---
 .gitlab-ci.yml                          | 3 +--
 .gitlab/ci/{python-ship.yml => pip.yml} | 0
 2 files changed, 1 insertion(+), 2 deletions(-)
 rename .gitlab/ci/{python-ship.yml => pip.yml} (100%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 89dae17..af7d6bc 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@ include:
   - '.gitlab/ci/static-analysis.yml'
   - '.gitlab/ci/docker.yml'
   - '.gitlab/ci/doc.yml'
-  - '.gitlab/ci/python-ship.yml'
+  - '.gitlab/ci/pip.yml'
 
 variables:
   PYTHON_IMG: python:3.12-slim
@@ -20,7 +20,6 @@ stages:
   - Build
   - Static Analysis
   - Documentation
-  - Pip
   - Docker image
 
 
diff --git a/.gitlab/ci/python-ship.yml b/.gitlab/ci/pip.yml
similarity index 100%
rename from .gitlab/ci/python-ship.yml
rename to .gitlab/ci/pip.yml
-- 
GitLab


From 5c7f3f37f30bb81d2fb68a2423b336c8761e4004 Mon Sep 17 00:00:00 2001
From: Pablo Boizeau <pablo.boizeau@ird.fr>
Date: Fri, 3 Jan 2025 10:57:17 +0100
Subject: [PATCH 10/10] Fix no build

---
 .gitlab-ci.yml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index af7d6bc..fa3d137 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,6 @@ include:
   - '.gitlab/ci/static-analysis.yml'
   - '.gitlab/ci/docker.yml'
   - '.gitlab/ci/doc.yml'
-  - '.gitlab/ci/pip.yml'
 
 variables:
   PYTHON_IMG: python:3.12-slim
-- 
GitLab