From f27707b403175f88fa7d14c9956045ec1f8c9f90 Mon Sep 17 00:00:00 2001 From: Alexander Goscinski Date: Mon, 2 Dec 2024 13:56:59 +0100 Subject: [PATCH] Fixes publish plubish-docs build (pygraphviz build failure) One needs to install graphviz over the system package manager before installing pygraphviz to prevent an automatic build that fails. This can is achieved with `sudo apt-get install graphviz graphviz-dev`. The `--force` was in `hatch run docs:deploy --force` was ignored. hatch does not support arguments so we directly use it in the hatch-script definition. Replacing `--force` to ``--no-history`.` See https://github.com/pypa/hatch/discussions/988 We also add the `workflow_dispatch` event so we can run the workflow manually. --- .github/workflows/publish-docs.yml | 26 +++++++++++++++++++------- pyproject.toml | 2 +- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 0264f5a..5ea296f 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -2,7 +2,7 @@ name: publish-docs on: push: branches: - - main + workflow_dispatch: permissions: contents: write @@ -10,6 +10,11 @@ permissions: jobs: deploy: runs-on: ubuntu-latest + timeout-minutes: 30 + strategy: + matrix: + python-version: ['3.12'] + steps: - uses: actions/checkout@v4 @@ -18,13 +23,21 @@ jobs: run: | git config user.name github-actions[bot] git config user.email github-actions[bot]@users.noreply.github.com - - - uses: actions/setup-python@v5 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 with: - python-version: 3.12 + python-version: ${{ matrix.python-version }} + + - name: Install hatch + run: | + pip install --upgrade pip + pip install hatch - - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - name: Install Graphviz + run: sudo apt-get install graphviz graphviz-dev + # caches the build docs + # see https://squidfunk.github.io/mkdocs-material/plugins/requirements/caching/ - uses: actions/cache@v4 with: key: mkdocs-material-${{ env.cache_id }} @@ -34,5 +47,4 @@ jobs: - name: "Build and deploy docs to gh-pages" run: | - pip install hatch - hatch run docs:deploy --force + hatch run docs:deploy diff --git a/pyproject.toml b/pyproject.toml index 7ef89cc..d5863fc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -95,5 +95,5 @@ serve = [ ] deploy = [ - "mkdocs gh-deploy -f docs/mkdocs.yml" + "mkdocs gh-deploy --no-history -f docs/mkdocs.yml" ]