diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml
index b464b69..a0348e8 100644
--- a/.github/workflows/build-and-release.yaml
+++ b/.github/workflows/build-and-release.yaml
@@ -83,8 +83,8 @@ jobs:
if: "! contains(github.ref_name,'b') && matrix.os == 'ubuntu-20.04' && matrix.python-version == '3.8'"
run: |
source .venv/bin/activate
- coverage html -d dist/tests/
- rm dist/tests/.gitignore
+ coverage html -d target/docs/tests/
+ rm target/docs/tests/.gitignore
- name: Build package
if: "matrix.os == 'ubuntu-20.04' && matrix.python-version == '3.8'"
@@ -97,10 +97,19 @@ jobs:
run: |
source .venv/bin/activate
pip install -e .[doc]
- pdoc3 --html --output-dir dist/ rok4
- cp README.md CHANGELOG.md dist/
-
- - name: Upload packages, tests results and documentation
+ pdoc3 --html --output-dir target/docs/ rok4
+ cp docs/mkdocs.yml target/mkdocs.yml
+ cp -r docs/overrides target/
+ cp docs/unit-tests.md target/docs/unit-tests.md
+ cp docs/documentation.md target/docs/documentation.md
+ cp docs/README.hdr.md target/docs/README.md
+ cp docs/CHANGELOG.hdr.md target/docs/CHANGELOG.md
+ cp docs/CONTRIBUTING.hdr.md target/docs/CONTRIBUTING.md
+ sed "s#x.y.z#${{ github.ref_name }}#g" README.md >>target/docs/README.md
+ cat CHANGELOG.md >>target/docs/CHANGELOG.md
+ cat CONTRIBUTING.md >>target/docs/CONTRIBUTING.md
+
+ - name: Upload packages
if: "matrix.os == 'ubuntu-20.04' && matrix.python-version == '3.8'"
uses: actions/upload-artifact@v3
with:
@@ -109,6 +118,17 @@ jobs:
if-no-files-found: error
retention-days: 1
+ - name: Publish documentation
+ if: "! contains(github.ref_name,'b') && matrix.os == 'ubuntu-20.04' && matrix.python-version == '3.8'"
+ run: |
+ source .venv/bin/activate
+ pip install -r docs/requirements.txt
+ git config user.name github-actions
+ git config user.email github-actions@github.com
+ cd target/
+ mike deploy --push --update-aliases --branch gh-pages -t "Version ${{ github.ref_name }}" ${{ github.ref_name }} latest
+ mike set-default --push --branch gh-pages ${{ github.ref_name }}
+
publish_artefacts:
name: Add built artefacts to release and PyPI
needs: [create_release, build_and_test]
@@ -155,56 +175,6 @@ jobs:
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: to_publish/
- commit_documentation:
- name: Add documentation and unit tests results into gh-pages branch
- needs: build_and_test
- if: "always() && ! contains(github.ref_name,'b') && needs.create_release.outputs.job_status == 'success' && needs.build_and_test.outputs.job_status == 'success'"
- runs-on: ubuntu-latest
-
- steps:
-
- - name: Checkout project on gh-pages
- uses: actions/checkout@v4
- with:
- ref: 'gh-pages'
- token: ${{ secrets.GITHUB_TOKEN }}
-
- - uses: actions/download-artifact@v3
- with:
- name: dist-py3
- path: artifact/
-
- - name: Copy version elements to final location
- run: |
- mkdir -p docs/versions/${{ github.ref_name }}
- cp -r artifact/rok4 docs/versions/${{ github.ref_name }}/
- cp -r artifact/tests docs/versions/${{ github.ref_name }}/
-
- - name: Add pages from templates
- run: |
- sed "s#__version__#${{ github.ref_name }}#" templates/mkdocs.template.yml >mkdocs.yml
-
- sed "s#__version__#${{ github.ref_name }}#" templates/unit-tests.template.md >docs/versions/${{ github.ref_name }}/unit-tests.md
- sed "s#__version__#${{ github.ref_name }}#" templates/documentation.template.md >docs/versions/${{ github.ref_name }}/documentation.md
-
- sed "s#__version__#${{ github.ref_name }}#" templates/index-version.template.md >docs/versions/${{ github.ref_name }}/index.md
- cat artifact/README.md >>docs/versions/${{ github.ref_name }}/index.md
- sed -i "s#x.y.z#${{ github.ref_name }}#g" docs/versions/${{ github.ref_name }}/index.md
-
- cp templates/index-versions.template.md docs/versions/index.md
- sed "s/^## \(.*\)$/## \1 \n\n[➔ Lien vers la documentation](\1\/index.md) /" artifact/CHANGELOG.md >>docs/versions/index.md
-
- sed "s#__version__#${{ github.ref_name }}#" templates/latest.template.html >docs/versions/latest/index.html
- rm -r artifact
-
- - name: Publish on gh-pages branch
- run: |
- git config user.name github-actions
- git config user.email github-actions@github.com
- git add -v docs/versions/${{ github.ref_name }}/ docs/versions/latest/ docs/versions/index.md mkdocs.yml
- git commit -m "Add documentation for version ${{ github.ref_name }}"
- git push
-
delete_version:
name: Remove release and tag if error occured
needs: build_and_test
diff --git a/.github/workflows/build-docs.yaml b/.github/workflows/build-docs.yaml
deleted file mode 100644
index 53fd700..0000000
--- a/.github/workflows/build-docs.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-name: Build doc site with mkdocs and deploy
-
-on:
- workflow_dispatch:
-
-jobs:
-
- build:
-
- name: Build doc site with mkdocs
-
- runs-on: ubuntu-latest
-
- steps:
- - name: Checkout project
- uses: actions/checkout@v4
- with:
- ref: 'gh-pages'
- token: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Setup python
- uses: actions/setup-python@v4
- with:
- python-version: "3.10"
- cache: 'pip'
-
- - name: Install Mkdocs
- run: pip install -r requirements.txt
-
- - name: Run mkdocs and archive
- run : |
- mkdocs build
- tar \
- --dereference --hard-dereference \
- --directory "site" \
- -cvf "${{ runner.temp }}/site.tar" \
- --exclude=.git \
- --exclude=.github \
- .
-
- - name: Upload pages
- uses: actions/upload-artifact@main
- with:
- name: github-pages
- path: ${{ runner.temp }}/site.tar
- retention-days: 1
-
- deploy:
-
- name: Deploy site to github pages
-
- needs: build
-
- permissions:
- pages: write # to deploy to Pages
- id-token: write # to verify the deployment originates from an appropriate source
-
- # Deploy to the github-pages environment
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
-
- runs-on: ubuntu-latest
- steps:
- - name: Deploy to GitHub Pages
- id: deployment
- uses: actions/deploy-pages@v2
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f32290e..22c6fbc 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -33,6 +33,7 @@ repos:
- id: black
args: ["--target-version=py38"]
+
- repo: https://github.com/pycqa/isort
rev: 5.12.0
hooks:
diff --git a/docs/CHANGELOG.hdr.md b/docs/CHANGELOG.hdr.md
new file mode 100644
index 0000000..e0257d2
--- /dev/null
+++ b/docs/CHANGELOG.hdr.md
@@ -0,0 +1,4 @@
+---
+hide:
+ - navigation
+---
diff --git a/docs/CONTRIBUTING.hdr.md b/docs/CONTRIBUTING.hdr.md
new file mode 100644
index 0000000..e0257d2
--- /dev/null
+++ b/docs/CONTRIBUTING.hdr.md
@@ -0,0 +1,4 @@
+---
+hide:
+ - navigation
+---
diff --git a/docs/README.hdr.md b/docs/README.hdr.md
new file mode 100644
index 0000000..e0257d2
--- /dev/null
+++ b/docs/README.hdr.md
@@ -0,0 +1,4 @@
+---
+hide:
+ - navigation
+---
diff --git a/docs/documentation.md b/docs/documentation.md
new file mode 100644
index 0000000..59f441e
--- /dev/null
+++ b/docs/documentation.md
@@ -0,0 +1,9 @@
+---
+hide:
+ - navigation
+ - toc
+---
+
+# Documentation technique
+
+
diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml
new file mode 100644
index 0000000..a173ee6
--- /dev/null
+++ b/docs/mkdocs.yml
@@ -0,0 +1,28 @@
+site_name: "Projet ROK4 - Librairies python"
+site_url: https://rok4.github.io/core-python
+
+nav:
+ - Accueil: README.md
+ - Documentation technique: documentation.md
+ - Rapport des tests unitaires: unit-tests.md
+ - Historique des versions: CHANGELOG.md
+ - Contribuer: CONTRIBUTING.md
+
+theme:
+ logo: https://rok4.github.io/assets/images/rok4-carre.png
+ favicon: https://rok4.github.io/assets/images/rok4-carre.png
+ name: material
+ features:
+ - navigation.tabs
+ - navigation.tabs.sticky
+ language: fr
+ custom_dir: overrides
+
+extra_css:
+ - https://rok4.github.io/assets/css/commun.css
+
+extra:
+ homepage: https://rok4.github.io
+ version:
+ provider: mike
+ default: latest
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
new file mode 100644
index 0000000..7c55859
--- /dev/null
+++ b/docs/overrides/main.html
@@ -0,0 +1,8 @@
+{% extends "base.html" %}
+
+{% block outdated %}
+ 🚨 Vous êtes sur la documentation d'une ancienne version. 🚨
+
+ Cliquez ici pour aller sur la dernière version.
+
+{% endblock %}
diff --git a/docs/requirements.txt b/docs/requirements.txt
new file mode 100644
index 0000000..f5f7010
--- /dev/null
+++ b/docs/requirements.txt
@@ -0,0 +1,3 @@
+mkdocs
+mkdocs-material
+mike
diff --git a/docs/unit-tests.md b/docs/unit-tests.md
new file mode 100644
index 0000000..091c6bd
--- /dev/null
+++ b/docs/unit-tests.md
@@ -0,0 +1,9 @@
+---
+hide:
+ - navigation
+ - toc
+---
+
+# Rapport des tests unitaires
+
+
diff --git a/pyproject.toml b/pyproject.toml
index 9731107..3e9fcf9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -58,7 +58,7 @@ test = [
[project.urls]
"Homepage" = "https://rok4.github.io/core-python"
"Bug Reports" = "https://github.com/rok4/core-python/issues"
-"Changelog" = "https://rok4.github.io/core-python/versions/"
+"Changelog" = "https://rok4.github.io/core-python/latest/CHANGELOG/"
"Source" = "https://github.com/rok4/core-python"
[build-system]