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

Increase OTP 24 readiness + move to OTP 20 min. #2515

Merged
merged 1 commit into from
May 12, 2021

Conversation

paulo-ferraz-oliveira
Copy link
Contributor

@paulo-ferraz-oliveira paulo-ferraz-oliveira commented Mar 15, 2021

What this pulls in:

After I saw that a bump was required, I decided to adapt to min. OTP 21(now) 20

  • don't merge until you decide to up min. to OTP 20
  • potentially tweak TARGET_ERLANG_VERSION
  • bump erlware_commons (after something like Fixes for dialyzer erlware/erlware_commons#152 happens)
  • tweak bootstrap to adapt to these changes too

@paulo-ferraz-oliveira
Copy link
Contributor Author

Yeah, so this seems to be OTP-21 min. Probably it could stay open until you decide to bump min. on your end too.

@paulo-ferraz-oliveira paulo-ferraz-oliveira force-pushed the increase-otp-24-readiness branch 2 times, most recently from 53d4fe2 to 40576ae Compare March 15, 2021 11:48
@paulo-ferraz-oliveira paulo-ferraz-oliveira changed the title Increase OTP 24 readiness Increase OTP 24 readiness + move to OTP 21 min. Mar 15, 2021
@ferd
Copy link
Collaborator

ferd commented Mar 15, 2021

We can't do this.

We usually deprecate the version when we have the official new release to go with, and then get rid of the old stuff when there's no way around. If we can't keep OTP-20 going, then we're more likely to just not upgrade the dependency and live with warnings.

We would probably need to revisit the backwards compatibility policy to do otherwise, if we can avoid doing that for a while it would probably be good to do so, otherwise our users might find themselves with far less generous support windows than expected. If we plan to close the window and clamp it down to a lower range, we should probably give significant heads up.

@paulo-ferraz-oliveira
Copy link
Contributor Author

We can't do this.

All of it, or parts of it? (I mean, I'm preparing for when you want to bump; it doesn't have to be now). 👍

We usually deprecate the version when we have the official new release to go with, and then get rid of the old stuff when there's no way around.

Oh, OK. We can keep adding -ifdef, I guess, if you're OK with it. I just imagined that when OTP 24 came out you might want to bump to min. OTP 21 (I was probably hopeful for recent discussions/exchanges we'd had and interpreted wrong).

If we can't keep OTP-20 going, then we're more likely to just not upgrade the dependency and live with warnings.

Sure. I'm OK with that.

We would probably need to revisit the backwards compatibility policy to do otherwise, if we can avoid doing that for a while it would probably be good to do so, otherwise our users might find themselves with far less generous support windows than expected. If we plan to close the window and clamp it down to a lower range, we should probably give significant heads up.

I'd always thought (might be wrong) that support as current-5, which would put min. at 20 once 24 comes out. If that's true not all of what was done will be trashed. 😄

Shall I put this at (prepare for) a min. 20 level, then?

@ferd
Copy link
Collaborator

ferd commented Mar 15, 2021

Oh wait yeah, maybe we just didn't deprecate around last bump? If we didn't get rid of 19 when we started supporting 23 because we were opportunistic then we for sure should feel free to keep the same current-5. So this could be mergeable once OTP-24 drops, and then we narrow our window to what's supportable in -5.

That would be a huge quality of life improvement. Do note that we might be able to clean stuff up in bootstrap as well.

@paulo-ferraz-oliveira
Copy link
Contributor Author

Yeah, I noticed bootstrap, but kinda stayed away from it 😄 I'll add a task to the description at the top.

If we drop OTP 20, that'll be current -4, so 21, 22, 23, 24. Which is the reason for my former question "Shall I put this at (prepare for) a min. 20 level, then?".

@ferd
Copy link
Collaborator

ferd commented Mar 15, 2021

Yeah OTP-20 minimum makes the most sense here. We're likely to ship pre-built artifacts with OTP-21 regardless though, and leave it to people on OTP-20 to build on their own in order to get the broader coverage for users in what we ship.

@paulo-ferraz-oliveira
Copy link
Contributor Author

I've pushed "min. 20" (it was mostly reverting stuff) + bootstrap updates.

@ferd ferd changed the title Increase OTP 24 readiness + move to OTP 21 min. Increase OTP 24 readiness + move to OTP 20 min. Mar 16, 2021
.github/workflows/publish.yml Outdated Show resolved Hide resolved
.github/workflows/nightly.yml Outdated Show resolved Hide resolved
test/rebar_test_utils.erl Outdated Show resolved Hide resolved
@paulo-ferraz-oliveira
Copy link
Contributor Author

Squash-rebased and force-pushed.

@paulo-ferraz-oliveira
Copy link
Contributor Author

We might also want to consider TARGET_ERLANG_VERSION in the hex_core vendoring flow.
Also, erlware_commons calls :get_stacktrace() (which is deprecated in OTP 24, too).

@paulo-ferraz-oliveira
Copy link
Contributor Author

I've squashed and force-pushed a change to handle "potentially tweak TARGET_ERLANG_VERSION" (was 19; is 20).

@ferd
Copy link
Collaborator

ferd commented Apr 10, 2021

Sounds good. I'll merge this once OTP-24 drops, prior to that I won't deprecate versions officially.

@paulo-ferraz-oliveira
Copy link
Contributor Author

Sure, only needs erlware/erlware_commons#152 to be merged and tagged, IMO.

@ferd
Copy link
Collaborator

ferd commented May 12, 2021

Looking to bump erlware_commons in #2550 -- seeing if I can bump certifi in a way that gets rid of parse_trans at the same time.

Prepare for the future

(funny coincidence there on the version :-))

Compile the move away from OTP 20 while we're at it

Adapt to changes in erlang:. Docker image

Stay at min. OTP 20 as per support-related expectations

(current-5)

Adapt bootstrap to "min. OTP is 20"

Broaden CI coverage

Remove dead code
@paulo-ferraz-oliveira paulo-ferraz-oliveira force-pushed the increase-otp-24-readiness branch from 257a9ab to 833949d Compare May 12, 2021 14:02
@paulo-ferraz-oliveira
Copy link
Contributor Author

I'm rebasing this branch on top of master.

@ferd ferd merged commit 6a2c775 into erlang:master May 12, 2021
@paulo-ferraz-oliveira paulo-ferraz-oliveira deleted the increase-otp-24-readiness branch May 13, 2021 10:46
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.

3 participants