Tests.yml: disable force_latest_compatible_version on LTS#75
Merged
Conversation
`julia-actions/julia-runtest`'s default `force_latest_compatible_version: auto` fires for bot-authored PRs (CompatHelper, Dependabot), pinning each dep to the upper end of its declared compat so the bump is actually exercised. Without it, a CompatHelper PR would resolve to the old dep version and pass tests vacuously. That's the right behavior on current Julia, but on LTS it produces spurious failures whenever a transitive dep pins the newer version out of reach (e.g. JuliaFormatter 2.3 pins JuliaSyntax to 0.4.10, but the compat bump widens to "0.4.10, 1" — forcing "1" on LTS makes it unsatisfiable). Accepting such bumps as aspirational-on-LTS-while- working-on-current is a common, reasonable policy. Disable the force on the LTS leg specifically; keep `auto` on current.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Skip `force_latest_compatible_version` on the LTS leg of the Tests matrix.
Keep the default (`auto`) on current Julia.
Why
`julia-actions/julia-runtest`'s default is `force_latest_compatible_version:
auto`, which pins each dep to the upper end of its declared compat on bot-
authored PRs — so CompatHelper bumps are actually exercised against the new
version instead of resolving vacuously.
That's the correct behavior on current Julia. On LTS it produces spurious
failures whenever a transitive dep hasn't caught up. Concrete example:
ITensorFormatter.jl#52
widens `JuliaSyntax` compat to `"0.4.10, 1"`, but `JuliaFormatter 2.3`
(the only version compatible on LTS) pins JuliaSyntax to `0.4.10` — forcing
`1` on LTS makes it unsatisfiable. Tests on current Julia pass; tests on
LTS fail as unresolvable.
In many cases we're fine with a bump being aspirational on LTS while
working on current Julia. Without this change those PRs can never merge
unless the entire upstream LTS chain also catches up — which we can't
always control.
Result
claimed latest version.
pinned to the upper-end compat.