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

Update gun to 2.0 #301

Merged
merged 16 commits into from
May 8, 2023
Merged

Update gun to 2.0 #301

merged 16 commits into from
May 8, 2023

Conversation

carrascoacd
Copy link
Contributor

Context

Gun 2.0 has been released. As a consequence, the dependency resolution when using https://github.com/elixir-grpc/grpc is broken.

In order to remove the temporal fork of gun and use the official gun library, we want to make sure that:

  1. gun depends on cowlib 2.12.0
  2. cowboy depends on cowlib 2.12.0
  3. grpc depends indirectly on on cowlib 2.12.0

I'm also taking the chance for releasing the minor version of the dependency so we are not so strict.

Related to ninenines/cowboy#1601 @essen @polvalente

mix.exs Outdated Show resolved Hide resolved
mix.exs Outdated Show resolved Hide resolved
@nulian
Copy link

nulian commented May 5, 2023

cowboy with cowlib is finally updated so this can be merged.

@polvalente
Copy link
Contributor

@carrascoacd (cc @nulian) The tests are currently failing on CI due to some SSL validation issues. Any ideas on how to fix that? Locally everything works.

@carrascoacd
Copy link
Contributor Author

I'm afraid it is because certs_keys were added in OTP 25 so probably the current tests are not working. I've added a commit to try to solve it but now the previous from 25 failed. I think we will need to create different tests to distinguish it and change the CI configuration to run them depending on the version.

@polvalente
Copy link
Contributor

I'm afraid it is because certs_keys were added in OTP 25 so probably the current tests are not working. I've added a commit to try to solve it but now the previous from 25 failed. I think we will need to create different tests to distinguish it and change the CI configuration to run them depending on the version.

What's weird to me is that Elixir 1.14 + OTP 25 works fine locally for me, without changing anything.

@carrascoacd
Copy link
Contributor Author

Yes, it is quite weird. Maybe I'm wrong and it is backwards compatible. Can you check the runtime GH uses in the tests to use exactly that instead of asdf based?

@polvalente
Copy link
Contributor

Great news, it seems that the SSL issues appear on Erlang 25.3, so using 25.1.x (which is the same I had locally) solves this for now, so we'll be able to merge

mix.exs Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@polvalente polvalente merged commit fc0b9bb into elixir-grpc:master May 8, 2023
19 checks passed
@carrascoacd
Copy link
Contributor Author

Great! Good job

listx added a commit to listx/melby that referenced this pull request Nov 22, 2023
We're stuck on trying to use mixNixDeps instead of mixFodDeps, due to:

    [nix-shell:~/prog/mool/package]$ make build-mool-server
    nix-build build.nix --option sandbox relaxed --show-trace -A mool-server --out-link mool-server
    this derivation will be built:
      /nix/store/575p9jk7sj28pxam4c07i99vmazqj7mb-mool-server-0-dev.drv
    building '/nix/store/575p9jk7sj28pxam4c07i99vmazqj7mb-mool-server-0-dev.drv'...
    unpacking sources
    unpacking source archive /nix/store/xfjidpmkk2cfc1hmf26fv4yja602b27p-mool-server
    source root is mool-server
    patching sources
    updateAutotoolsGnuConfigScriptsPhase
    configuring
    extracting mool-nifs
    building
    Compiling 14 files (.ex)
    Generated mools app
    installing
    ** (Mix) Could not find application :gun
    error: builder for '/nix/store/575p9jk7sj28pxam4c07i99vmazqj7mb-mool-server-0-dev.drv' failed with exit code 1;
           last 10 log lines:
           > source root is mool-server
           > patching sources
           > updateAutotoolsGnuConfigScriptsPhase
           > configuring
           > extracting mool-nifs
           > building
           > Compiling 14 files (.ex)
           > Generated mools app
           > installing
           > ** (Mix) Could not find application :gun
           For full logs, run 'nix log /nix/store/575p9jk7sj28pxam4c07i99vmazqj7mb-mool-server-0-dev.drv'.
    make: *** [Makefile:25: build-mool-server] Error 1

But this may become moot once elixir-grpc upgrades to just using `gun`
instead of the `grpc_gun` wrapper. See elixir-grpc/grpc#301
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