elixir-cldr / cldr

Elixir implementation of CLDR/ICU

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub RSA SSH Key Problem?

simon-wolf opened this issue · comments

Hi Kip and thank you for your great work on this project, it is very much appreciated.

I'm having a problem today where compiling my project effectively stops when it is trying to generate locales and I am wondering if it is due to GitHub updating their RSA SSH host key:

https://github.blog/2023-03-23-we-updated-our-rsa-ssh-host-key/

the output I get from mix.compile is:

$ mix compile
Compiling 153 files (.ex)
Generating Mindme.Cldr for 2 locales named [:en, :und] with a default locale named :en
Compiling lib/mindme/cldr.ex (it's taking more than 10s)

And then it just sits there and the only think I can think of is that the key change has caused a problem. Maybe. 🤷‍♂️

@simon-wolf thanks for the kind words. And very sorry for the inconvenience. I just tried on my dev machine and locales downloaded fine. The blog post does say it should only affect ssh gitops which I understand to mean it shouldn't affect https / tls.

TLDR; I don't know what the issue might be. I don't set either :timeout or :connection_timeout on the :httpc requests so they default to infinity which isn't a great idea (and I'll change that for the upcoming release so its good timing on that count).

One thing you can try is:

wget https://raw.githubusercontent.com/elixir-cldr/cldr/v2.36.0/priv/cldr/locales/en.json

Which is basically what is happening under the covers. Let me know if that works?

@kipcole9 Yes, that works.

Apologies then because I don't think this is a problem with the package itself. It is entirely possible I've broken something somewhere else in my project. And having re-read things, the en locate should be available anyway via the Hex package which would mean it is not a network issue. I'll keep digging.

I'll close the issue and thank you for your response and adding a timeout in the upcoming release which would be great.

You're right, both of those locales are included in the library so there shouldn't be any network requests. I should have spotted that, too late in my zone.

Somethings to try (all obvious I'm sure):

  1. Check that en.json and und.json haven't disappeared from wherever you are storing locales. By default List.to_string(:code.privdir(:ex_cldr)) <> "/priv/locales".
  2. mix deps.compile ex_cldr --force && mix compile --force`
  3. rm -rf _build

Thanks Kip. running mix deps.compile ex_cldr --force && mix compile --force seemed to unblock things although before that I had deleted the _build folder so it's all a bit strange.

Sorry for interrupting your evening/night and thank you again.

Glad you're back up and running. Don't hesitate to reopen if it crops up again.