ericmj

ericmj

Elixir Core Team

We are moving the builds for precompiled versions of Elixir, Erlang/OTP, and Hex itself. These are currently hosted on https://repo.hex.pm but will be moved to https://builds.hex.pm. (You can read more about the builds on GitHub - hexpm/bob: The Builder · GitHub).

The affected URLs are under https://repo.hex.pm/builds/ and https://repo.hex.pm/installs/, and will be moved to https://builds.hex.pm/builds/ https://builds.hex.pm/installs/ respectively.

The transition period will be over 3 months with increasing “brownout” periods where repo.hex.pm will redirect to builds.hex.pm. After the 3 month period the redirect will become permanent. If the tool you are using to download the builds follows HTTP redirects you are unaffected by the domain change.

If you are using the GitHub action setup-beam make sure you are on the latest tag @v1 and f you use asdf to install Elixir then update with asdf plugin-update elixir to ensure there is no disruption.

For more details and the migration schedule see the post: New domain for build artifacts | Hex

Showing Posts 7 to 1

brunjact

brunjact

There might be an issue with the redirect at the moment, I’m noticing that it adds two forward slashes (/) to the URL after the domain name :point_right: https://builds.hex.pm//installs/hex-1.x.csv

Can you check?

wingyplus

wingyplus

I see, Thanks for explaination.

ericmj

ericmj OP

Elixir Core Team

HEX_MIRROR is being deprecated because it was being used for both the Hex repository and build artifacts.

Going forward you should use HEX_MIRROR_URL or HEX_TRUSTED_MIRROR_URL for the Hex repository (repo.hex.pm). HEX_TRUSTED_MIRROR_URL should only be used if it’s a mirror you can trust with secrets such as authentication credentials and private packages, otherwise use HEX_MIRROR_URL. You can use these if you are on the latest version of Hex.

For build artifacts you should set HEX_BUILDS_URL, this variable is used by mix local.hex and mix local.rebar. This variable is being introduced in Elixir 1.15.0 so it’s not available yet. To avoid the error in the mean time you have to set HEX_MIRROR only when you call the mix local.* tasks. But since Elixir follows HTTP redirects you don’t have to make any changes, when repo.hex.pm changes to permanently redirect to builds.hex.pm Elixir will continue working.

wingyplus

wingyplus

I found some issues when set HEX_MIRROR to https://builds.hex.pm

Failed to fetch record for open_api_spex from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for paginator from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for plug_cowboy from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for floki from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for cowlib from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for bamboo from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for mime from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for gen_smtp from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
Failed to fetch record for phoenix_ecto from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it
** (Mix) Unknown package cowlib in lockfile
Failed to fetch record for phoenix_pubsub from registry (using cache instead)
This could be because the package does not exist, it was spelled incorrectly or you don't have permissions to it

The setting in our company CI:

mix deps.get
  shell: /usr/bin/bash -e {0}
  env:
    HEX_MIRROR: https://builds.hex.pm
    MIX_ENV: dev
    INSTALL_DIR_FOR_OTP: /opt/hostedtoolcache/otp/ubuntu-20.04/OTP-25.3.2/x64
    INSTALL_DIR_FOR_ELIXIR: /opt/hostedtoolcache/elixir/1.14.3-otp-25/x64
    SSH_AUTH_SOCK: /tmp/ssh-AvRndJpmAe1q/agent.534
    SSH_AGENT_PID: 535

I’m not sure what am I wrong.

D4no0

D4no0

I found the biggest problem with the ones hosted on docker hub is that they are versioned only by elixir version (at least used to be, now it seems that OTP version is present too), so I always had to be careful when upgrading elixir version to not upgrade to a next major OTP version.

LostKobrakai

LostKobrakai

They’re also on docker hub :wink:

D4no0

D4no0

I have used elixir docker images for over 5 years and only now find out that there are official images beside the ones on docker hub :sweat_smile:

— All posts loaded —

Where Next? Top

Trending in Notices Top

Other Trending Topics Top

mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews