This repository automatically deploys a performance dashboard to GitHub Pages that displays:
- Build Status: Current CI/CD pipeline status
- Performance Benchmarks: Command parser and shell core performance metrics
- Code Coverage: Line/branch/function coverage reports with visualizations
- API Documentation: Auto-generated Doxygen documentation
- Fuzzing Results: Security testing outputs
Once GitHub Pages is enabled, the dashboard will be available at:
https://wsollers.github.io/shell/
-
Enable GitHub Pages:
- Go to your repository settings
- Navigate to "Pages" in the sidebar
- Under "Source", select "GitHub Actions"
- The dashboard will be deployed automatically after the next CI run
-
Required Repository Secrets:
CODECOV_TOKEN: For uploading coverage data to Codecov.io
-
Azure Integration (Optional):
AZURE_CLIENT_ID: Service principal client IDAZURE_CLIENT_SECRET: Service principal secretAZURE_TENANT_ID: Azure tenant IDAZURE_SUBSCRIPTION_ID: Azure subscription ID
- Interactive charts showing benchmark performance over time
- Command parser and shell core execution times
- Performance regression detection
- Real-time coverage percentages
- Detailed coverage reports with line-by-line analysis
- Coverage trend tracking
- Auto-generated from source code comments
- Interactive class and function reference
- Searchable documentation
- Fuzzing test results
- Static analysis findings
- Dependency vulnerability scans
The dashboard is automatically updated on every CI run. Data includes:
- Benchmark results from Google Benchmark
- Coverage reports from LLVM/Clang coverage tools
- Fuzzing outputs from libFuzzer
- API docs from Doxygen
If the dashboard doesn't update:
- Check that GitHub Pages is enabled with "GitHub Actions" as source
- Verify CI workflows are passing
- Check the "Actions" tab for deployment status
- Ensure artifacts are being generated by CI jobs
To preview the dashboard locally:
- Run CI jobs to generate artifacts
- Download artifacts from GitHub Actions
- Serve the
site/directory with any HTTP server:cd site && python -m http.server 8000
- Frontend: Pure HTML/CSS/JavaScript with Chart.js
- Build System: CMake with cross-platform presets
- CI/CD: GitHub Actions with artifact processing
- Coverage: LLVM source-based coverage
- Documentation: Doxygen with custom styling
- Deployment: GitHub Pages with automated workflows