Skip to content

Conversation

jacobtylerwalls
Copy link
Member

Home-assistant is h u g e and is the single biggest bottleneck in the primer. We've used it for a few release cycles. I think it's time to rotate something else into the primer. We get bug reports from ansible maintainers, let's try that.

@jacobtylerwalls jacobtylerwalls added primer Skip news 🔇 This change does not require a changelog entry labels Oct 19, 2025
Copy link

codecov bot commented Oct 19, 2025

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 95.96%. Comparing base (042717c) to head (dcb9472).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
pylint/testutils/_primer/primer_run_command.py 0.00% 1 Missing ⚠️

❌ Your patch check has failed because the patch coverage (0.00%) is below the target coverage (100.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #10685   +/-   ##
=======================================
  Coverage   95.96%   95.96%           
=======================================
  Files         176      176           
  Lines       19525    19526    +1     
=======================================
+ Hits        18738    18739    +1     
  Misses        787      787           
Files with missing lines Coverage Δ
pylint/testutils/_primer/primer_run_command.py 30.76% <0.00%> (ø)

... and 1 file with indirect coverage changes

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

@cdce8p
Copy link
Member

cdce8p commented Oct 19, 2025

Do we use multiple jobs for linting? A normal pylint run on the Home Assistant repo with 2 jobs usually takes around 8min. They do have a lot of checks disabled though but it might still be faster than the current setup. I'd be a bit sad to see it removed from the primer output as it's usually quite good at catching changes.

Copy link
Member

@Pierre-Sassoulas Pierre-Sassoulas left a comment

Choose a reason for hiding this comment

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

Make sense, and if we break home assistant we'll hear about it 😄 Maybe we can add a flag "lint-in-ci" so we don't lose the configuration we put in place and so we can launch the "full suite" if we want ?

@cdce8p
Copy link
Member

cdce8p commented Oct 19, 2025

Make sense, and if we break home assistant we'll hear about it 😄

Only the really bad issues. They disabled most checkers a while ago in the believe that they are covered by rust and mypy. From my experience not all the disabled ones are but I don't really have the bandwidth to argue for it. Running the primer for it was nevertheless useful as it just overwrites the config and enables all checks.

https://github.com/home-assistant/core/blob/2025.10.3/pyproject.toml#L147-L409

Maybe we can add a flag "lint-in-ci" so we don't lose the configuration we put in place and so we can launch the "full suite" if we want ?

That would be a good option. Maybe trigger on an added label / check if a specific label is preset. That way we could make sure to do a "full" run in case there is a high likelihood of a regression.

@jacobtylerwalls
Copy link
Member Author

Do we use multiple jobs for linting?

I think we avoided this in the past as it was an annoying source of indeterminacy. We might have fixed most of that. We can try it out.

I'll add it back, but I'm still not convinced it's worth the cost. Some times it blows out the output from the other packages by emitting hundreds of similar messages.

@jacobtylerwalls jacobtylerwalls changed the title [primer] Replace home-assistant with ansible [primer] Add ansible, try mulitiprocessing Oct 19, 2025
@cdce8p
Copy link
Member

cdce8p commented Oct 19, 2025

Some times it blows out the output from the other packages by emitting hundreds of similar messages.

This should have been fixed with #10642 🤞🏻

@jacobtylerwalls jacobtylerwalls changed the title [primer] Add ansible, try mulitiprocessing [primer] Add ansible, try multiprocessing Oct 19, 2025
@Pierre-Sassoulas
Copy link
Member

Imo the primer is one of the most useful test we have, maybe it's not such a problem if it's long. Typically on new checks or uncertain fix involving inference we want the maximum information that we can have. We could create a "full primer" github label so we can launch everything but in the general case it's fast ? Or launch the primer only if pylint/checkers or pylint/extensions was modified. Adding ansible is nice in any case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

primer Skip news 🔇 This change does not require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants