Elixir 1.14 GitHub release format change causing some issues

Elixir 1.14 is great!

However, the new release format seems to be causing trouble.

So far I’ve seen 2 tools that automate around the release assets.

  1. scoop (one of the package management tools on Windows) fails to install 1.14
    It tries to get checksum from the release note (now gone, moved into a release asset)
    It tries to download Precompiled.zip, which now changed to elixir-otp-23.zip, elixir-otp-24.zip, and elixir-otp-25.zip
    Main/elixir.json at master · ScoopInstaller/Main · GitHub

  2. Renovate (similar to dependabot) fails to update dependencies (when trying to install elixir 1.14)

    ⚠ Artifact update problem
    ....
    Command failed: docker run --rm --name=renovate_sidecar --label=renovate_child -v "/mnt/renovate/gh/princemaple/songri-desk":"/mnt/renovate/gh/princemaple/songri-desk" -v "/tmp/renovate-cache":"/tmp/renovate-cache" -v "/tmp/containerbase":"/tmp/containerbase" -e BUILDPACK_CACHE_DIR -w "/mnt/renovate/gh/princemaple/songri-desk" docker.io/renovate/sidecar bash -l -c "install-tool erlang 24.3.4.0 && install-tool elixir v1.14.0 && mix deps.update phoenix"
    curl: (22) The requested URL returned error: 404 
    Download failed: https://github.com/elixir-lang/elixir/releases/download/v1.14.0/Precompiled.zip
    
1 Like

For scoop you just need to change "url": "https://github.com/elixir-lang/elixir/releases/download/v1.14.0/elixir-otp-25.zip" upstream.

And the autoupdate should be something like:

"autoupdate": {
   "url": "https://github.com/elixir-lang/elixir/releases/download/v$version/elixir-otp-25.zip"
   "hash": {
      "url": "$baseurl/elixir-otp-25.zip.sha256sum"
    }
 }

For Renovate it’s probably also just changing the URL somewhere upstream?

I’m afraid changing that would cause previous versions not installable.

You’re right. I’ve missed the feature of installing different versions in scoop completely.
For this scenario I don’t have a solution for scoop beside having two manifests (latest, pre_v1.14).

Yup. That’s the one suggestion I got from scoop community. Was hoping we can have an aliased release asset, i.e. Precompiled.zip which is the same as lowest OTP version.

Like what elixir-ls has. Releases · elixir-lsp/elixir-ls · GitHub
elixir-ls.zip is the same as elixir-ls-1.11-22.3.zip

And maybe have the checksums back in the release notes, if that’s not too much…

That’s nothing I can answer.

:wink: was hoping someone from the core team would see this and agree with me.

Scoop is fixed now. @wingyplus fixed it by switching to builds published on repo.hex.pm

2 Likes

Yes, please report upstream and suggest the repo.hex.pm URLs. :slight_smile:

2 Likes