Skip to content

Conversation

@rjwalters
Copy link
Contributor

@rjwalters rjwalters commented Apr 25, 2025

This PR completely restructures our CI workflows to make them more modular, efficient, and comprehensive. It replaces the previous monolithic approach with specialized workflows and introduces benchmarking capabilities.

Key Changes

  • Modular Workflow Structure: Split the previous single build workflow into separate specialized workflows for Python and C++ testing, linting, and benchmarking
  • Reusable Actions: Created shared setup actions for Python and C++ environments to avoid duplication
  • Benchmarking Integration: Added comprehensive benchmark workflows using Google Benchmark for C++ and pytest-benchmark for Python
  • Bencher.dev Integration: Configured workflows to submit benchmark results to Bencher.dev for performance tracking over time
  • Code Quality: Improved linting workflows for both Python (using Ruff) and C++ (using clang-format)
  • Dependency Management: Added Dependabot configuration to automatically track dependency updates
  • Cleaner Organization: Renamed workflows for consistency (e.g., deploy_mettascope.ymldeploy-mettascope.yml)
  • Removed Unused Files: Deleted obsolete test scripts and unnecessary trace files

Migration Notes

  • The new benchmark framework replaces the previous custom benchmarking scripts
  • Python benchmarks now use pytest-benchmark for consistency with the rest of our testing infrastructure
  • Artifact naming and structure has been standardized across workflows
  • Test paths and configurations have been updated to work with the modular approach

@rjwalters rjwalters added the skibidi 🚽 Brrr skibidi dop dop dop yes yes label Apr 25, 2025
@rjwalters rjwalters marked this pull request as ready for review April 26, 2025 16:34
@rjwalters rjwalters marked this pull request as draft April 26, 2025 16:34
@rjwalters rjwalters requested a review from berekuk May 1, 2025 05:17
@rjwalters rjwalters requested a review from berekuk May 2, 2025 01:54
@rjwalters rjwalters added ready 📦 This is ready to ship! and removed skibidi 🚽 Brrr skibidi dop dop dop yes yes labels May 2, 2025
@rjwalters rjwalters marked this pull request as ready for review May 2, 2025 02:46
Copy link
Contributor

@daveey daveey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This made me very happy. Great work. I saw @berekuk left some comments. Feel free to merge when ready

@rjwalters rjwalters merged commit 41b6e4b into main May 2, 2025
6 checks passed
@rjwalters rjwalters deleted the robb/0425-add-benchmarks-to-ci branch May 2, 2025 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready 📦 This is ready to ship!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants