Sitelet https://github.com/pegasusheavy/winrt-xaml
Skip to content

Latest commit

Β 

History

57 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

GitHub CI/CD Configuration

This directory contains GitHub Actions workflows for continuous integration and performance monitoring.

πŸ”„ Workflows

1. Benchmark Performance (benchmark.yml)

Triggers: Pull requests, pushes to main/master, manual dispatch

Jobs:

  • benchmark: Runs all benchmarks and uploads results
  • benchmark-comparison: Compares PR performance against base branch

Features:

  • Automatic benchmark execution on PRs
  • Performance comparison comments
  • Artifact uploads for detailed analysis
  • Alert on >10% performance regression

2. Performance Tracking (performance-tracking.yml)

Triggers: Pushes to main/master, weekly schedule (Monday 00:00 UTC), manual dispatch

Jobs:

  • track-performance: Records performance metrics over time
  • regression-check: Detects regressions between commits

Features:

  • Historical performance tracking
  • Automatic regression detection
  • Performance trends generation
  • Weekly scheduled runs for stability monitoring

3. Performance Dashboard (benchmark-dashboard.yml)

Triggers: Pushes to main/master, manual dispatch

Jobs:

  • generate-dashboard: Creates and deploys performance dashboard

Features:

  • Visual performance dashboard
  • Real-time metrics display
  • GitHub Pages deployment
  • Criterion HTML report integration

πŸ“Š Viewing Results

Local Development

# Run benchmarks locally
.\scripts\benchmark-local.ps1

# Compare with baseline
.\scripts\benchmark-local.ps1 -Compare -Baseline main

# Save new baseline
.\scripts\benchmark-local.ps1 -Save my-baseline

# Quick run (infrastructure only)
.\scripts\benchmark-local.ps1 -Quick

CI Results

  1. PR Comments: Automatic comments on PRs with benchmark results
  2. Artifacts: Download detailed results from GitHub Actions artifacts
  3. Dashboard: View live dashboard at https://<org>.github.io/<repo>/
  4. Criterion Reports: HTML reports in artifacts under benchmark-results

🎯 Performance Targets

Metric Target Current Status
State Read < 15ns 11.5ns βœ…
State Write < 15ns 10.7ns βœ…
Vec Creation < 100ns 56ns βœ…
Arc Access < 10ns 0.2ns βœ…
Lock Acquisition < 15ns 12ns βœ…

🚨 Alerts

Regression Thresholds

  • Warning: >5% performance decrease
  • Alert: >10% performance decrease
  • Fail: Configurable per workflow

Alert Actions

  1. PR comment with details
  2. Artifact upload with comparison
  3. Optional workflow failure
  4. Notification to maintainers

πŸ“ CODEOWNERS

Performance-related files are automatically reviewed by maintainers:

  • /benches/
  • *benchmark*.md
  • *performance*.md
  • *optimization*.md
  • .github/workflows/benchmark*.yml
  • .github/workflows/performance*.yml

πŸ”§ Configuration

Enabling GitHub Pages

  1. Go to repository Settings
  2. Navigate to Pages
  3. Source: Deploy from branch
  4. Branch: gh-pages
  5. Folder: / (root)
  6. Save

Required Secrets

No additional secrets required beyond GITHUB_TOKEN (automatically provided).

Optional Configuration

benchmark-action/github-action-benchmark:

  • Adjust alert-threshold in benchmark.yml
  • Modify fail-on-alert behavior
  • Configure auto-push settings

πŸ“š Documentation

🀝 Contributing

When making changes that may affect performance:

  1. Run benchmarks locally first
  2. Compare against main branch
  3. Document intentional regressions
  4. Update performance targets if needed

πŸ“ž Support

For questions about CI/CD or benchmarking:

  • Check workflow logs in Actions tab
  • Review documentation in /docs
  • Open an issue for CI-specific problems

Last Updated: December 29, 2025 Workflows: 3 active Status: βœ… Operational

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages