Some checks failed
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
Update GeoLite2 Checksum / update-checksum (push) Has been cancelled
Container Registry Prune / prune-ghcr (push) Has been cancelled
Container Registry Prune / prune-dockerhub (push) Has been cancelled
Container Registry Prune / summarize (push) Has been cancelled
Supply Chain Verification / Verify SBOM (push) Has been cancelled
Supply Chain Verification / Verify Release Artifacts (push) Has been cancelled
Supply Chain Verification / Verify Docker Image Supply Chain (push) Has been cancelled
3.1 KiB
Executable File
3.1 KiB
Executable File
Docs Workflow Update Plan
1. Introduction
The current documentation workflow only validates and deploys on pushes to main. This leaves other branches without validation of documentation changes, potentially leading to broken docs being merged. This plan outlines the updates to ensure documentation is built/validated on all relevant branches and PRs, while deployment remains restricted to main.
2. Research Findings
- Current File:
.github/workflows/docs.yml - Build Method: Uses
npm install -g markedto convert Markdown to HTML. - Deploy Method: Uses
actions/upload-pages-artifactandactions/deploy-pages. - Triggers: Currently limited to
push: branches: [main].
3. Technical Specifications
Workflow Triggers (on)
The workflow triggers need to be expanded to cover:
- Pull Requests targeting
mainordevelopment. - Pushes to
main,development,feature/**, andhotfix/**.
on:
push:
branches:
- main
- development
- 'feature/**'
- 'hotfix/**'
paths:
- 'docs/**'
- 'README.md'
- '.github/workflows/docs.yml'
pull_request:
branches:
- main
- development
paths:
- 'docs/**'
- 'README.md'
- '.github/workflows/docs.yml'
workflow_dispatch:
Concurrency
Update concurrency to be scoped by branch. This allows parallel builds for different feature branches.
Use cancel-in-progress: true for all branches except main to save resources on rapid fast-forward pushes, but ensure robust deployments for main.
concurrency:
group: "pages-${{ github.ref }}"
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
Job Constraints
- Job
build: Should run on all triggers. No changes needed to conditions. - Job
deploy: Must be restricted tomainbranch pushes only.
deploy:
name: Deploy to GitHub Pages
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
timeout-minutes: 5
needs: build
# ... steps ...
4. Implementation Tasks
- Modify
.github/workflows/docs.yml:- Update
ontriggers. - Update
concurrencyblock withgroup: "pages-${{ github.ref }}"and conditionalcancel-in-progress. - Add
ifcondition todeployjob. - Fix 404 Link Error:
- Replace hardcoded
/charon/paths in generated HTML navigation with dynamic repository name variable. - Use
${{ github.event.repository.name }}within the workflow to construct the base path, ensuring case-sensitivity compatibility (e.g.,Charonvscharon).
- Replace hardcoded
- Update
5. Acceptance Criteria
- Pushing to a feature branch triggers the
buildjob but skipsdeploy. - Multiple feature branch pushes run in parallel (checked via Actions tab).
- Rapid pushes to the same feature branch cancel previous runs.
- Opening a PR triggers the
buildjob. - Pushing to
maintriggers bothbuildanddeploy. - Pushing to
maindoes not cancel in-progress runs (safe deployment).