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