Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unbreak Julia 1.0 #110

Merged
merged 2 commits into from Jun 23, 2022
Merged

Unbreak Julia 1.0 #110

merged 2 commits into from Jun 23, 2022

Conversation

timholy
Copy link
Member

@timholy timholy commented Jun 22, 2022

Version 0.4 got released claiming to support Julia 1.0
(the [compat] is julia = "1") but 1.0 was dropped from CI.
Unfortunately, not only doesn't the package run on
1.0, it doesn't even parse. This means that every package
that wants to update their AbstractTrees dependency might try this

[compat]
AbstractTrees = "0.3, 0.4"

and while this works fine on Julia 1.6, it breaks on Julia 1.0.
Had AbstractTrees 0.4 merely declared incompatibility
with Julia 1.0, the package manager would have
handled everything for us---it would install AbstractTrees 0.3.x
on Julia 1.0, and 0.4.x on 1.6 and higher.

Now we are a bit stuck. One option is to see if General
would accept a PR retrospectively making AbstractTrees
0.4 uninstallable on 1.0. The alternative is to provide
at least minimal support for 1.0. I've taken that route here,
but I'd be equally fine with the idea of making a PR to
General.

CC @ExpandingMan

Version 0.4 got released claiming to support Julia 1.0
(the [compat] is `julia = "1"`) but 1.0 was dropped from CI.
Unfortunately, not only doesn't the package run on
1.0, it doesn't even parse. This means that every package
that wants to update their AbstractTrees dependency might try this

    [compat]
    AbstractTrees = "0.3, 0.4"

and while this works fine on Julia 1.6, it breaks on Julia 1.0.
Had AbstractTrees 0.4 merely declared incompatibility
with Julia 1.0, the package manager would have
handled everything for us---it would install AbstractTrees 0.3.x
on Julia 1.0, and 0.4.x on 1.6 and higher.

Now we are a bit stuck. One option is to see if General
would accept a PR retrospectively making AbstractTrees
0.4 uninstallable on 1.0. The alternative is to provide
at least minimal support for 1.0. I've taken that route here,
but I'd be equally fine with the idea of making a PR to
General.
@timholy
Copy link
Member Author

timholy commented Jun 22, 2022

Example: timholy/MethodAnalysis.jl#31

@ExpandingMan
Copy link
Contributor

This is my fault, I forgot to change the compat bound.

Personally, I'd prefer to try making a PR to general to unbreak it, but I don't really know how that would work.

If we merge this instead, I can put in another PR afterward to revert the changes but with the correct compat bound (I really don't want to encourage anyone to try to write code compatible with pre-1.6, it seems rather absurd at this point).

@timholy
Copy link
Member Author

timholy commented Jun 22, 2022

It's a really easy mistake to make. I've started wondering if we should check for this in the General automerge step.

One of us could play with https://github.com/JuliaRegistries/RetroCap.jl. I will get to it if you don't (but I'm occupied for the next couple of hours).

@ExpandingMan
Copy link
Contributor

I'd be in favor of making it so that general will not auto-merge for anything that claims to support any version prior to the latest LTS. To be blunt, it is very hard for me to care about what is happening on pre-1.6, it's not likely to be something that will ever go through my mind when making PR's.

@oscardssmith
Copy link
Member

@timholy is this ready to merge (it looks good to me).

@ExpandingMan
Copy link
Contributor

Can we remove 1.0 support in 0.4 or would we have to tag an 0.5?

@oscardssmith
Copy link
Member

it's not a breaking change. The resolver will fix it.

@oscardssmith oscardssmith merged commit 69faf4e into master Jun 23, 2022
@oscardssmith oscardssmith deleted the teh/j1.0 branch June 23, 2022 20:07
@timholy
Copy link
Member Author

timholy commented Jun 25, 2022

Thanks for merging this. I'm fine with reverting this if someone makes a PR to general to make 0.4 uninstallable, but this seems like an easy fix for now.

@ExpandingMan, totally agreed with the idea that supporting 1.0 is not a productive use of time for most packages, although there may be some exceptions (e.g., maybe VS Code and a few others). So I'm not sure we could go with your favored solution, but at least checking that CI is enabled seems to make sense. For most packages, the only goal should be to avoid breaking things that once worked.

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.

None yet

3 participants