From 8a4ff92c2e43a704250baf1b9c2c360eaaf0b6db Mon Sep 17 00:00:00 2001
From: Geoffrey Arthaud <geoffrey.arthaud@developpement-durable.gouv.fr>
Date: Mon, 16 Oct 2023 13:44:41 +0200
Subject: [PATCH] Update CI with dev versions

---
 .gitignore                     |  1 +
 .gitlab-ci-local-variables.yml |  3 +++
 .gitlab-ci.yml                 | 14 ++++++++++++--
 pyproject.toml                 |  2 +-
 4 files changed, 17 insertions(+), 3 deletions(-)
 create mode 100644 .gitlab-ci-local-variables.yml

diff --git a/.gitignore b/.gitignore
index 6682536..3e8e3cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,4 +13,5 @@ site
 .idea
 public/
 .DS_Store
+gcls
 
diff --git a/.gitlab-ci-local-variables.yml b/.gitlab-ci-local-variables.yml
new file mode 100644
index 0000000..6204934
--- /dev/null
+++ b/.gitlab-ci-local-variables.yml
@@ -0,0 +1,3 @@
+---
+
+CI_PROJECT_ID: 20363
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 00c58a0..8d879aa 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -6,7 +6,7 @@ stages:
   - deploy_dev
   - package_test
   - deploy
-
+    
 build_and_deploy_gitlab:
   image: nikolaik/python-nodejs:python3.11-nodejs20
   stage: deploy_dev
@@ -14,22 +14,32 @@ build_and_deploy_gitlab:
     - pip install pipenv
     - pipenv install
     - npm ci --cache .npm --prefer-offline
+    - curl -sSLf "$(curl -sSLf https://api.github.com/repos/tomwright/dasel/releases/latest | grep browser_download_url | grep linux_amd64 | grep -v .gz | cut -d\" -f 4)" -L -o dasel && chmod +x dasel
+    - NEW_VERSION=`./dasel -f pyproject.toml -r toml "project.join(+,version,string(${CI_COMMIT_SHORT_SHA}))" | tr -d "'"`
+    - ./dasel put -f pyproject.toml -r toml -t string -v ${NEW_VERSION} project.version
     - pipenv run npm run build:prod
     - pipenv run python -m build
+    - 'echo "Déploiement de la version : ${NEW_VERSION}"'
     - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token pipenv run python -m twine upload --skip-existing --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
+    - echo $VERSION > version.txt
   cache:
     paths:
       - .npm/
       - .pipenv/
+  artifacts:
+    paths:
+      - version.txt
+    expire_in: "2 days"
 
 deploy_exemple_site:
   image: python:3.11.6-bookworm
   stage: package_test
   script:
+    - VERSION=`cat version.txt``
     - git clone --branch develop --single-branch --depth=1 ${CI_SERVER_URL}/pub/numeco/mkdocs-dsfr-exemple.git
     - cd mkdocs-dsfr-exemple
     - pip install pipenv
-    - pipenv install --index gitlab mkdocs-dsfr
+    - pipenv install --index gitlab mkdocs-dsfr=$VERSION
     - pipenv run mkdocs build --strict --verbose -d ../public
   artifacts:
     paths:
diff --git a/pyproject.toml b/pyproject.toml
index ee7f637..02d837a 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,7 +1,7 @@
 
 [project]
 name = "mkdocs-dsfr"
-version = "0.6.1.dev"
+version = "0.6.1"
 description = "DSFR theme for Mkdocs"
 readme = "README.md"
 authors = [
-- 
GitLab