From 66119946f11aa3fbd96e7176b4d52568bd5805ea Mon Sep 17 00:00:00 2001 From: Johnny Greco Date: Wed, 24 Jun 2026 18:30:09 +0000 Subject: [PATCH 1/3] Add GitHub Actions docs workflow --- .github/workflows/docs.yml | 89 ++++++++++++++++++++++++++++++++++++++ .gitlab-ci.yml | 15 ------- 2 files changed, 89 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/docs.yml delete mode 100644 .gitlab-ci.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..afaba479 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,89 @@ +name: Docs + +"on": + pull_request: + paths: + - ".github/workflows/docs.yml" + - "docs/**" + - "requirements-docs.txt" + - "scripts/build-docs.sh" + - "scripts/render-dev-notes.py" + - "zensical.toml" + push: + branches: + - main + paths: + - ".github/workflows/docs.yml" + - "docs/**" + - "requirements-docs.txt" + - "scripts/build-docs.sh" + - "scripts/render-dev-notes.py" + - "zensical.toml" + workflow_dispatch: + +permissions: + contents: read + +jobs: + validate: + name: Validate documentation + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: requirements-docs.txt + + - name: Check Dev Notes renderer syntax + run: python -m py_compile scripts/render-dev-notes.py + + - name: Build documentation + run: scripts/build-docs.sh + + deploy: + name: Deploy documentation + if: >- + github.ref == 'refs/heads/main' && + (github.event_name == 'push' || github.event_name == 'workflow_dispatch') + needs: validate + runs-on: ubuntu-latest + permissions: + contents: read + pages: write + id-token: write + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + concurrency: + group: github-pages + cancel-in-progress: false + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: "3.12" + cache: pip + cache-dependency-path: requirements-docs.txt + + - name: Configure GitHub Pages + uses: actions/configure-pages@v6 + + - name: Build documentation + run: scripts/build-docs.sh + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v5 + with: + path: site + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v5 diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 0362c075..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,15 +0,0 @@ -image: python:3.12-slim - -pages: - tags: - - os/linux-arm - - type/docker - script: - - scripts/build-docs.sh - - rm -rf public - - mv site public - artifacts: - paths: - - public - only: - - main From 7670e1d5ea03d185dcd2487e6d1dff5d7dbf2e02 Mon Sep 17 00:00:00 2001 From: Johnny Greco Date: Wed, 24 Jun 2026 18:32:57 +0000 Subject: [PATCH 2/3] Update docs workflow README entry --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ef43ce5..02fadc82 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,8 @@ OpenShell as the runtime. navigation entries from post front matter. - `zensical.toml` configures the documentation site. - `requirements-docs.txt` pins the documentation build toolchain. -- `.gitlab-ci.yml` builds the documentation site in GitLab CI. +- `.github/workflows/docs.yml` validates documentation builds in GitHub Actions + and deploys the generated site to GitHub Pages. ## Documentation workflow From 14cf440f6274bd65f19024a9d084432cc7569e12 Mon Sep 17 00:00:00 2001 From: Johnny Greco Date: Wed, 24 Jun 2026 18:33:37 +0000 Subject: [PATCH 3/3] Run docs workflow for every PR --- .github/workflows/docs.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index afaba479..4553e686 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -2,23 +2,9 @@ name: Docs "on": pull_request: - paths: - - ".github/workflows/docs.yml" - - "docs/**" - - "requirements-docs.txt" - - "scripts/build-docs.sh" - - "scripts/render-dev-notes.py" - - "zensical.toml" push: branches: - main - paths: - - ".github/workflows/docs.yml" - - "docs/**" - - "requirements-docs.txt" - - "scripts/build-docs.sh" - - "scripts/render-dev-notes.py" - - "zensical.toml" workflow_dispatch: permissions: