Conversation
damacus
commented
Jan 6, 2026
- feat: add Zensical documentation site with GitHub Pages deployment
- refactor: update docs workflow with path filtering and separate build/deploy jobs
- Add zensical.toml configuration for docs site - Create site_docs/ with index, installation, configuration, troubleshooting pages - Add .github/workflows/docs.yml for automated GitHub Pages deployment - Add documentation feature tracking in features/documentation.json - Update feature_list.json with documentation area - Add site/ to .gitignore for build output
…/deploy jobs - Add path filtering to only trigger on docs-related changes - Add pull_request trigger for PR previews - Add workflow_dispatch for manual runs - Add concurrency group to prevent parallel deployments - Split into separate build and deploy jobs - Deploy only runs on push to main branch
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #287 +/- ##
=======================================
Coverage 71.47% 71.47%
=======================================
Files 55 55
Lines 1774 1774
=======================================
Hits 1268 1268
Misses 506 506 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR adds a documentation site for the RoboVac integration using Zensical (a documentation tool) with GitHub Pages deployment. The changes include documentation content for installation, configuration, and troubleshooting, along with automated build and deployment workflows.
- Adds Zensical configuration and documentation site structure with 4 pages (index, installation, configuration, troubleshooting)
- Implements GitHub Actions workflow for building and deploying documentation to GitHub Pages
- Updates feature tracking to include 5 documentation-related test cases
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| zensical.toml | Configuration file defining the documentation site structure, directories, and navigation |
| site_docs/index.md | Main landing page with project overview, features, and supported models |
| site_docs/installation.md | Installation instructions via HACS and manual methods |
| site_docs/configuration.md | Guide for configuring the integration with required device information |
| site_docs/troubleshooting.md | Common issues and solutions for vacuum connectivity and protocol problems |
| features/documentation.json | Feature tracking for 5 documentation-related test cases (4 passing, 1 failing) |
| feature_list.json | Updates summary statistics to include documentation features (27 total, 20 passing, 7 failing) |
| .gitignore | Adds site/ directory to ignore Zensical build output |
| .github/workflows/docs.yml | GitHub Actions workflow for building and deploying documentation to GitHub Pages |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| run: uv pip install --system zensical | ||
|
|
||
| - name: Build documentation | ||
| run: zensical build --clean |
There was a problem hiding this comment.
The 'zensical build --clean' command references a tool that may not exist. If this is intended to be MkDocs or another documentation tool, the command should be updated accordingly (e.g., 'mkdocs build --clean' for MkDocs).
| paths: | ||
| - "site_docs/**" | ||
| - "zensical.toml" | ||
| - ".github/workflows/docs.yml" |
There was a problem hiding this comment.
The path filters for pull_request events don't include README.md, CHANGELOG.md, and LICENSE, which are included in the push event filters. This inconsistency means that pull requests modifying these files won't trigger the documentation workflow for validation, but pushes will. Consider adding these paths to the pull_request paths filter as well for consistency, or remove them from the push paths if they shouldn't trigger documentation builds.
| - ".github/workflows/docs.yml" | |
| - ".github/workflows/docs.yml" | |
| - "README.md" | |
| - "CHANGELOG.md" | |
| - "LICENSE" |
| "area": "documentation", | ||
| "description": "Documentation index page exists", | ||
| "steps": [ | ||
| "Create docs/index.md with project overview", |
There was a problem hiding this comment.
The step mentions "Create docs/index.md" but the actual documentation directory is "site_docs" (as configured in zensical.toml). This should be updated to "Create site_docs/index.md" for accuracy.
| "Create docs/index.md with project overview", | |
| "Create site_docs/index.md with project overview", |
| uses: actions/checkout@v5 | ||
| with: | ||
| fetch-depth: 0 | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: 3.x | ||
|
|
||
| - name: Set up uv | ||
| uses: astral-sh/setup-uv@v5 | ||
|
|
||
| - name: Install dependencies | ||
| run: uv pip install --system zensical | ||
|
|
||
| - name: Build documentation | ||
| run: zensical build --clean | ||
|
|
||
| - name: Upload artifact | ||
| uses: actions/upload-pages-artifact@v4 | ||
| with: | ||
| path: ./site | ||
|
|
||
| deploy: | ||
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | ||
| needs: build | ||
| runs-on: ubuntu-latest | ||
| environment: | ||
| name: github-pages | ||
| url: ${{ steps.deployment.outputs.page_url }} | ||
| steps: | ||
| - name: Deploy to GitHub Pages | ||
| id: deployment | ||
| uses: actions/deploy-pages@v4 |
There was a problem hiding this comment.
The docs workflow uses unpinned version tags (v5, v4) for GitHub Actions, which deviates from the security best practice established in ci.yml where actions are pinned to specific commit SHAs (e.g., actions/checkout@8e8c483 for v6). For consistency with the codebase convention seen in .github/workflows/ci.yml:24,36,49,68, consider pinning these actions to specific commit SHAs.