-
Notifications
You must be signed in to change notification settings - Fork 20
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
chore: Erlang 27/Elixir 1.17 #842
Conversation
6bf761c
to
b6ce557
Compare
b6ce557
to
89bdd47
Compare
Dockerfile
Outdated
ARG ALPINE_VERSION=3.17.7 | ||
ARG ELIXIR_VERSION=1.17.3 | ||
ARG ERLANG_VERSION=27.2 | ||
ARG ALPINE_VERSION=3.17.9 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: latest Alpine is 3.21
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like libssl1.1
is no longer supported in the latest Alpine so will update that to libssl3
as well.
@@ -36,13 +36,4 @@ defmodule ApiWeb.CanaryTest do | |||
|
|||
assert_receive {:EXIT, ^pid, :normal} | |||
end | |||
|
|||
test "stops with reason if given a value that is not a function for notify_fn" do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
question: what changed such that we don't need this test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is me misunderstanding the code in canary
after seeing a test failure. Turns out this is failing because it isn't receiving a message after the exit anymore. Not 100% sure why at the moment so will look into it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I may need to phone a friend on this one. I'm not seeing anything in the changelogs to suggest this exit behavior has changed. If I don't trap the exit, I can see that it is exiting but the process mailbox is always empty. Am I missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm thinking that it's this change from Erlang 26:
proc_lib:start*/*
has become synchronous when the started process fails. This requires that a failing process use a new functionproc_lib:init_fail/2,3
, or exits, to indicate failure. All OTP behaviours have been fixed to do this.
I think what this means is that the new behavior doesn't cause an exit: only the the [:error, _}
return value. You can remove the exit trapping part of the assertion, but keep the {:error, _}
assertion.
Summary of changes
Asana Ticket: [extra] 🍎💳 Update API to Erlang 26 and Elixir 1.16
Updated Erlang, Elixir, and any dependency that required an update for CI to pass. Based on a comment from Paul S. I also removed support for protobufs. Confirmed that we only use the enhanced feeds so there is nothing using the protobuf definitions.