CompatHelper.jl icon indicating copy to clipboard operation
CompatHelper.jl copied to clipboard

Add options for handling `[extras]` dependencies

Open devmotion opened this issue 4 months ago • 7 comments

This PR extends #502 based on @DilumAluthge's suggestions in https://github.com/JuliaRegistries/CompatHelper.jl/pull/502#issuecomment-3183867774.

I added an option open_prs_for_extras that can be set to IfExistingCompatExtras() (the default), AllExtras() or NoExtras() [my gut feeling is that the names could be improved a bit]. With IfExistingCompatExtras(), only [extras] dependencies with existing compat entry are updated; with AllExtras(), all [extras] dependencies are updated (also those without existing compat entry); and with NoExtras(), [extras] dependencies are not updated.

I went with singleton types (basically a type-based enum) because 1) it felt more consistent with the existing EntryType and 2) it's not necessary to check whether the provided value is valid (which would be necessary if the API would be based on Symbols).

Fixes #166. Closes #502.

devmotion avatar Aug 13 '25 18:08 devmotion

Codecov Report

:white_check_mark: All modified and coverable lines are covered by tests. :white_check_mark: Project coverage is 100.00%. Comparing base (7ea4330) to head (cd36c36). :warning: Report is 6 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #528   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           12        11    -1     
  Lines          412       411    -1     
=========================================
- Hits           412       411    -1     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

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

codecov[bot] avatar Aug 13 '25 18:08 codecov[bot]

Could we make this experimental for now? That way, we can try it out, and if we don't like the API, we can change it?

DilumAluthge avatar Sep 04 '25 22:09 DilumAluthge

By "experimental", I mean explicitly document that we are allowed to break it in a minor (or even patch) release of CompatHelper.

DilumAluthge avatar Sep 04 '25 22:09 DilumAluthge

I added a note.

devmotion avatar Sep 04 '25 23:09 devmotion

@DilumAluthge this PR is ready for another round of review 🙂

devmotion avatar Oct 01 '25 08:10 devmotion

@DilumAluthge bump 🙂

devmotion avatar Nov 21 '25 10:11 devmotion

I can try to review this weekend.

DilumAluthge avatar Nov 21 '25 10:11 DilumAluthge

I can try to review this weekend.

Famous last words, huh?

DilumAluthge avatar Dec 11 '25 21:12 DilumAluthge

@DilumAluthge can you create a new release?

devmotion avatar Dec 12 '25 07:12 devmotion

https://github.com/JuliaRegistries/CompatHelper.jl/pull/536

DilumAluthge avatar Dec 12 '25 15:12 DilumAluthge