Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@bthomee
Copy link
Collaborator

@bthomee bthomee commented Dec 22, 2025

High Level Overview of Change

This change replaces the strategy matrix generation process by a fully typed and test Python implementation. This also enables more flexibility for adjusting or extending the functionality as needed.

Context of Change

The current Python script reads JSON files that contain the definitions to generate the strategy matrix from. The script does too many things at once, which makes it hard to read. The code is also not tested.

The change in this PR refactors the strategy matrix generation, such that:

  • Data types are used to express the configurations and are validated, such that mistakes more difficult or even impossible to make.
  • The functions and data types are fully tested.
  • Basic support is added for publishing packages and images, as well as for sanitizers. Their actual implementations will come in a follow-up PR.
  • Per separate discussions with @Bronek a while back, the configurations to run for commits, merges, and schedules have been adjusted to focus on key configurations, while reducing duplication.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactor (non-breaking change that only restructures code)
  • Performance (increase or change in throughput and/or latency)
  • Tests (you added tests for code that already exists, or your new feature included in this PR)
  • Documentation update
  • Chore (no impact to binary, e.g. .gitignore, formatting, dropping support for older tooling)
  • Release

@bthomee bthomee added the DraftRunCI Normally CI does not run on draft PRs. This opts in. label Dec 22, 2025
@codecov
Copy link

codecov bot commented Dec 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.0%. Comparing base (40198d9) to head (9de4bca).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##           develop   #6160     +/-   ##
=========================================
+ Coverage     79.1%   80.0%   +0.9%     
=========================================
  Files          836     836             
  Lines        71245   74413   +3168     
  Branches      8322    8293     -29     
=========================================
+ Hits         56356   59514   +3158     
- Misses       14889   14899     +10     

see 500 files with indirect coverage changes

Impacted file tree graph

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bthomee bthomee marked this pull request as ready for review December 23, 2025 15:09
@bthomee bthomee removed the DraftRunCI Normally CI does not run on draft PRs. This opts in. label Dec 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.