From 14f75b1923de0853d32e9572ae42d74cb345f03e Mon Sep 17 00:00:00 2001 From: Jascha Date: Thu, 14 May 2026 22:47:33 -0700 Subject: [PATCH 1/3] Add CNAME for docs.vectorpin.org Placed at docs/CNAME so it travels with the documentation source. GitHub Pages serving directly from /docs on main picks it up natively; any workflow that builds Zensical output into a separate publish branch should copy docs/CNAME to the publish root. --- docs/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/CNAME diff --git a/docs/CNAME b/docs/CNAME new file mode 100644 index 0000000..fb49be8 --- /dev/null +++ b/docs/CNAME @@ -0,0 +1 @@ +docs.vectorpin.org From 7feb87932f444c771234dcdc7134533f3e2f8608 Mon Sep 17 00:00:00 2001 From: Jascha Date: Thu, 14 May 2026 22:51:53 -0700 Subject: [PATCH 2/3] Add GitHub Actions workflow to build and deploy docs site Builds the Zensical site from docs/ + zensical.toml on every push to main that touches the docs sources, copies docs/CNAME into the build output (site/), and deploys to GitHub Pages via the native pages actions (no gh-pages branch). Manual triggers via workflow_dispatch are enabled so the site can be rebuilt without a docs commit. After this lands, configure the repository: Settings -> Pages -> Source: GitHub Actions Settings -> Pages -> Custom domain: docs.vectorpin.org Settings -> Pages -> Enforce HTTPS: on (after DNS resolves) And add the DNS record: docs.vectorpin.org CNAME thirdkeyai.github.io --- .github/workflows/docs.yml | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..2f3b701 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,51 @@ +name: Docs + +on: + push: + branches: [main] + paths: + - "docs/**" + - "zensical.toml" + - ".github/workflows/docs.yml" + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: pages + cancel-in-progress: false + +jobs: + build: + name: Build Zensical site + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install Zensical + run: | + python -m pip install --upgrade pip + pip install zensical + - name: Build + run: zensical build + - name: Copy CNAME to site root + run: cp docs/CNAME site/CNAME + - uses: actions/upload-pages-artifact@v3 + with: + path: site + + deploy: + name: Deploy to GitHub Pages + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 From 3ccee8f0e89bdaafa56be9839748e67dc507fd3c Mon Sep 17 00:00:00 2001 From: Jascha Date: Thu, 14 May 2026 22:52:38 -0700 Subject: [PATCH 3/3] Align docs workflow with AgentPin pattern - configure-pages step first (enables Pages programmatically) - Single-job deploy instead of split build/deploy - zensical build --clean for reproducible output - actions/upload-pages-artifact@v4 and actions/checkout@v5 to match the versions AgentPin runs in production - Floating python-version: 3.x Kept relative to AgentPin's workflow: - workflow_dispatch for manual rebuilds - concurrency group: pages (cancel-in-progress: false) so a doc bump during deploy queues instead of cancelling - cp docs/CNAME -> site/CNAME instead of echo (docs/CNAME stays the single source of truth in the repo) --- .github/workflows/docs.yml | 42 +++++++++++++++----------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2f3b701..8909dbf 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,8 +1,9 @@ -name: Docs +name: Documentation on: push: - branches: [main] + branches: + - main paths: - "docs/**" - "zensical.toml" @@ -19,33 +20,22 @@ concurrency: cancel-in-progress: false jobs: - build: - name: Build Zensical site + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/configure-pages@v5 + - uses: actions/checkout@v5 - uses: actions/setup-python@v5 with: - python-version: "3.12" - - name: Install Zensical - run: | - python -m pip install --upgrade pip - pip install zensical - - name: Build - run: zensical build - - name: Copy CNAME to site root - run: cp docs/CNAME site/CNAME - - uses: actions/upload-pages-artifact@v3 + python-version: 3.x + - run: pip install zensical + - run: zensical build --clean + - run: cp docs/CNAME site/CNAME + - uses: actions/upload-pages-artifact@v4 with: path: site - - deploy: - name: Deploy to GitHub Pages - needs: build - runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - id: deployment - uses: actions/deploy-pages@v4 + - uses: actions/deploy-pages@v4 + id: deployment