Skip to content

Summarize package statistics, not jobs#49

Merged
cottsay merged 4 commits into
masterfrom
cottsay/pkgs-not-jobs
Mar 24, 2026
Merged

Summarize package statistics, not jobs#49
cottsay merged 4 commits into
masterfrom
cottsay/pkgs-not-jobs

Conversation

@cottsay
Copy link
Copy Markdown
Member

@cottsay cottsay commented Feb 23, 2026

To date, the colcon task model has always had a one-to-one relationship between packages and jobs, despite separation in the code. All jobs are associated with a single package, but it is possible to associate multiple jobs with any given package.

Likely because of this one-to-one relationship, the job identifier and package name have often been used interchangeably throughout the colcon codebase. Because all job identifiers must be unique, we'll need to break this pattern if we are ever to support multiple jobs per package.

This change re-orients the statistics presented in the console_summary event handler around packages by treating multiple jobs for a single package as if they were a single job, meaning that a package isn't finished building until ALL of the jobs finish.

Because all current use cases maintain the one-to-one relationship, this change should not result in any difference in behavior today.

@cottsay cottsay self-assigned this Feb 23, 2026
@cottsay cottsay force-pushed the cottsay/pkgs-not-jobs branch from 8427681 to 2c71875 Compare February 23, 2026 20:33
To date, the colcon task model has always had a one-to-one relationship
between packages and jobs, despite separation in the code. Every job is
associated with a single package, but it is possible to associated
multiple jobs with any given package.

Likely because of this one-to-one relationship, the job identifier and
package name have often been used interchangeably throughout the colcon
codebase. Because all job identifiers must be unique, we'll need to
break this pattern if we are ever to support multiple jobs per package.

This change re-orients the statistics presented in the `console_summary`
event handler around packages by treating multiple jobs for a single
package as if they were a single job, meaning that a package isn't
finished building until ALL of the jobs finish.

Because all _current_ use cases maintain the one-to-one relationship,
this change should not result in any difference in behavior today.
@cottsay cottsay force-pushed the cottsay/pkgs-not-jobs branch from 2c71875 to 9ae3a4d Compare February 23, 2026 20:34
@cottsay cottsay requested a review from Blast545 February 25, 2026 03:42
Comment thread colcon_output/event_handler/summary.py
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 7, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 26.10%. Comparing base (a8e79cc) to head (62b1f0f).

Additional details and impacted files
@@             Coverage Diff             @@
##           master      #49       +/-   ##
===========================================
+ Coverage    0.00%   26.10%   +26.10%     
===========================================
  Files           7        7               
  Lines         286      295        +9     
  Branches        0       57       +57     
===========================================
+ Hits            0       77       +77     
+ Misses        286      217       -69     
- Partials        0        1        +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

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

@cottsay cottsay marked this pull request as ready for review March 24, 2026 16:20
@cottsay cottsay merged commit e966bf2 into master Mar 24, 2026
22 checks passed
@cottsay cottsay deleted the cottsay/pkgs-not-jobs branch March 24, 2026 16:22
@cottsay cottsay added the bug Something isn't working label Mar 27, 2026
@cottsay cottsay added this to the 0.2.14 milestone Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Development

Successfully merging this pull request may close these issues.

3 participants