docs: document Planr 1.7 CLI-first evaluations #187
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Set up Node.js | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: 22 | |
| - name: Enable pinned pnpm | |
| run: corepack enable | |
| - name: Install workspace dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Validate documentation content | |
| run: pnpm docs:content | |
| - name: Typecheck documentation | |
| run: pnpm docs:typecheck | |
| - name: Lint documentation | |
| run: pnpm docs:lint | |
| - name: Build documentation | |
| run: pnpm docs:build | |
| - name: Build Cloudflare static deployment artifact | |
| run: pnpm docs:verify-deployment | |
| - name: Replay documented onboarding against this repository | |
| run: pnpm docs:verify-onboarding | |
| - name: Verify agent routes and prompt contracts | |
| run: | | |
| pnpm docs:verify-agent-journey | |
| pnpm docs:verify-agent-landing | |
| pnpm --filter @planr/docs verify:agent-markdown | |
| - name: Verify browser interactions and accessibility | |
| run: | | |
| pnpm docs:start > /tmp/planr-docs-server.log 2>&1 & | |
| docs_server_pid=$! | |
| trap 'kill "$docs_server_pid"' EXIT | |
| for attempt in $(seq 1 120); do | |
| if curl --fail --silent http://127.0.0.1:3000/llms.txt >/dev/null; then | |
| break | |
| fi | |
| if ! kill -0 "$docs_server_pid" 2>/dev/null; then | |
| sed -n '1,200p' /tmp/planr-docs-server.log | |
| exit 1 | |
| fi | |
| sleep 0.25 | |
| done | |
| curl --fail --silent http://127.0.0.1:3000/llms.txt >/dev/null | |
| CHROME_PATH="$(command -v google-chrome)" PLANR_DOCS_URL=http://127.0.0.1:3000 pnpm docs:verify-shell | |
| - name: Verify documented graph semantics against this repository | |
| run: pnpm docs:verify-concepts | |
| - name: Verify public reference coverage and drift | |
| run: pnpm docs:verify-reference | |
| - name: Verify contributor and operations contracts | |
| run: pnpm docs:verify-maintenance | |
| - name: Verify documentation release inventory and links | |
| run: pnpm docs:verify-release | |
| quality: | |
| name: Quality Gates | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 | |
| with: | |
| persist-credentials: false | |
| - name: Install system tools | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y shellcheck | |
| - name: Install Rust components | |
| run: | | |
| rustup component add rustfmt clippy | |
| - name: Rust format | |
| run: cargo fmt --check | |
| - name: Rust lint | |
| run: cargo clippy --all-targets -- -D warnings | |
| - name: Rust tests | |
| run: cargo test | |
| - name: Shell lint | |
| run: shellcheck scripts/*.sh | |
| - name: Release dry-run | |
| run: | | |
| cargo build --release | |
| npm pack --dry-run | |
| node npm/bin/planr.js --version | |
| - name: Cargo audit | |
| run: | | |
| if ! command -v cargo-audit >/dev/null 2>&1; then | |
| cargo install cargo-audit --locked | |
| fi | |
| cargo audit --deny warnings |