From 0bdcff5ef1827dd6d21dad40214b557c3a231ae9 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 09:50:09 +0100 Subject: [PATCH 1/8] Adds github workflows --- .github/workflows/deploy-docs.yml | 97 +++++++++++++++++++++++++++++++ requirements.txt | 13 +++++ 2 files changed, 110 insertions(+) create mode 100644 .github/workflows/deploy-docs.yml create mode 100644 requirements.txt diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml new file mode 100644 index 000000000..ed0904cdb --- /dev/null +++ b/.github/workflows/deploy-docs.yml @@ -0,0 +1,97 @@ +name: Deploy Documentation + +on: + push: + branches: + - master + paths: + - 'docs/**' + - 'mkdocs.yml' + - 'requirements.txt' + - '.github/workflows/deploy-docs.yml' + pull_request: + branches: + - master + paths: + - 'docs/**' + - 'mkdocs.yml' + - 'requirements.txt' + - '.github/workflows/deploy-docs.yml' + +permissions: + contents: write + +jobs: + build: + name: Build Docs + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Necessary for plugins that use git history + + - name: Install plantuml + run: sudo apt-get install -y plantuml + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies + run: pip install -r requirements.txt + + - name: Build site + # --strict fails the build on any warnings + run: mkdocs build --strict + + deploy: + name: Deploy Docs + runs-on: ubuntu-latest + # The deploy job only runs on push events to the master branch + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + needs: build + concurrency: + group: gh-pages + cancel-in-progress: true + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Install plantuml + run: sudo apt-get install -y plantuml + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Cache dependencies + uses: actions/cache@v4 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + + - name: Install dependencies + run: pip install -r requirements.txt + + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + + - name: Deploy to GitHub Pages + run: mkdocs gh-deploy --force --message "Deploy docs from ${{ github.sha }}" diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..c25596bc7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,13 @@ +mkdocs +mkdocs-material +mkdocs-material-extensions +mkdocs-glightbox +mkdocs-video +markdown +markdown-include +jinja2 +requests +urllib3 +pymdown-extensions +mkdocs-graphviz +plantuml-markdown From 3a7f361eeaf79970947370cc2ad33b2aca2a927b Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 10:51:48 +0100 Subject: [PATCH 2/8] Adds exclusions --- .github/workflows/deploy-docs.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index ed0904cdb..c1a530b84 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -5,17 +5,15 @@ on: branches: - master paths: - - 'docs/**' + - '**/*.md' - 'mkdocs.yml' - - 'requirements.txt' - '.github/workflows/deploy-docs.yml' pull_request: branches: - master paths: - - 'docs/**' + - '**/*.md' - 'mkdocs.yml' - - 'requirements.txt' - '.github/workflows/deploy-docs.yml' permissions: From 01257570e0a5c3cc670ebcb7f432319d2d24d4a8 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 10:52:40 +0100 Subject: [PATCH 3/8] Adds exclusions --- .github/workflows/deploy-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c1a530b84..67f06bb13 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -5,14 +5,14 @@ on: branches: - master paths: - - '**/*.md' + - 'docs/**' - 'mkdocs.yml' - '.github/workflows/deploy-docs.yml' pull_request: branches: - master paths: - - '**/*.md' + - 'docs/**' - 'mkdocs.yml' - '.github/workflows/deploy-docs.yml' From cbf4a5d37f63ef385172818266ff02c389464588 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 11:11:21 +0100 Subject: [PATCH 4/8] Override jar --- .github/workflows/deploy-docs.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 67f06bb13..f6da0d25b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -30,7 +30,9 @@ jobs: fetch-depth: 0 # Necessary for plugins that use git history - name: Install plantuml - run: sudo apt-get install -y plantuml + run: | + sudo apt-get install -y plantuml + curl -L https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar -o /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 @@ -68,7 +70,9 @@ jobs: fetch-depth: 0 - name: Install plantuml - run: sudo apt-get install -y plantuml + run: | + sudo apt-get install -y plantuml + curl -L https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar -o /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 From 7f2039dfae8a58419c737dfcf07bb429535fafc3 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 11:13:49 +0100 Subject: [PATCH 5/8] Override jar --- .github/workflows/deploy-docs.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index f6da0d25b..9d57daa79 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -32,7 +32,8 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -L https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar -o /usr/share/plantuml/plantuml.jar + curl -LO https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar + sudo cp plantuml-1.2026.0.jar /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 @@ -72,7 +73,8 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -L https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar -o /usr/share/plantuml/plantuml.jar + curl -LO https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar + sudo cp plantuml-1.2026.0.jar /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 From 29176b08ae8c04c3283d17af2141fc9e52464613 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 11:21:09 +0100 Subject: [PATCH 6/8] Adds cache purging --- .github/workflows/deploy-docs.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 9d57daa79..86f063c2f 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -99,3 +99,15 @@ jobs: - name: Deploy to GitHub Pages run: mkdocs gh-deploy --force --message "Deploy docs from ${{ github.sha }}" + + - name: Purge Cache + run: | + curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CLOUDFLARE_ZONE_ID }}/purge_cache" \ + -H "Authorization: Bearer ${{ secrets.CLOUDFLARE_API_TOKEN }}" \ + -H "Content-Type: application/json" \ + --data '{"purge_everything":true}' + env: + CLOUDFLARE_API_TOKEN: ${{ secrets.CFAPI }} + CLOUDFLARE_ZONE_ID: ${{ secrets.CFZONEID }} + + \ No newline at end of file From 2fae29e66dfb68b2cb48ddbdc91d2e3ea7b93c35 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 11:30:05 +0100 Subject: [PATCH 7/8] Override jar --- .github/workflows/deploy-docs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 86f063c2f..fde9ed490 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -32,8 +32,8 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -LO https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar - sudo cp plantuml-1.2026.0.jar /usr/share/plantuml/plantuml.jar + curl -LO https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar + sudo cp plantuml.jar /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 @@ -73,8 +73,8 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -LO https://github.com/plantuml/plantuml/releases/download/v1.2026.0/plantuml-1.2026.0.jar - sudo cp plantuml-1.2026.0.jar /usr/share/plantuml/plantuml.jar + curl -LO https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar + sudo cp plantuml.jar /usr/share/plantuml/plantuml.jar - name: Set up Python uses: actions/setup-python@v5 From bbf9b4db6c71077d3de689fc5b5dbbde15e44803 Mon Sep 17 00:00:00 2001 From: Sergio Rua Date: Tue, 13 Jan 2026 11:44:14 +0100 Subject: [PATCH 8/8] Override jar --- .github/workflows/deploy-docs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index fde9ed490..605aaca89 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -32,7 +32,7 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -LO https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar + curl -L https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar sudo cp plantuml.jar /usr/share/plantuml/plantuml.jar - name: Set up Python @@ -73,7 +73,7 @@ jobs: - name: Install plantuml run: | sudo apt-get install -y plantuml - curl -LO https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar + curl -L https://github.com/plantuml/plantuml/releases/download/snapshot/plantuml-SNAPSHOT.jar -o plantuml.jar sudo cp plantuml.jar /usr/share/plantuml/plantuml.jar - name: Set up Python