We have been running into #260 on a regular basis. In an attempt to fix it I configured our CI action with the official hex.pm mirror listed on their site as a backup in case it happens again.
The issue is that it appears that the hexpm-mirrors attribute is being ignored and the alternate mirror is not being attempted. I could be misinterpreting the output though. There is no output indicating that it failed to fetch from the alternate mirror, nor does it show up in the config output when it runs.
Software versions
setup-beam: v1
elixir: 1.16.1
opt: 26.0.2
STR
Configure our action with the default mirror and an alternate. (Maybe use invalid URLs to replicate?)
Run until the action fails to fetch the data.
Notice there's no output in the error indicating that it tried and failed via both mirrors.
Expected behaviour
Based on a quick glance of the code I expect there to be output when it failed attempting to download from each configured mirror.
Example Action Config
- name: Set up Elixir and Erlang
uses: erlef/setup-beam@v1
with:
elixir-version: "1.16.1"
otp-version: "26.0.2"
hexpm-mirrors: |
https://builds.hex.pm
https://repo.hex.pm
Action Output
Run erlef/setup-beam@v1
with:
elixir-version: 1.16.1
otp-version: 26.0.2
github-token: ***
install-hex: true
install-rebar: true
version-type: loose
disable_problem_matchers: false
hexpm-mirrors: https://builds.hex.pm
env:
GITHUB_TOKEN: ***
ELIXIR_VERSION: 1.16.1
OTP_VERSION: 26.0.2
Action fetch /builds/otp/ubuntu-22.04/builds.txt failed for mirror https://builds.hex.pm, with Error: Request timeout: /builds/otp/ubuntu-22.04/builds.txt
##[debug]Stacktrace: Error: Request timeout: /builds/otp/ubuntu-22.04/builds.txt
##[debug] at ClientRequest.<anonymous> (/home/runner/work/_actions/erlef/setup-beam/v1/dist/index.js:2225:26)
##[debug] at Object.onceWrapper (node:events:628:28)
##[debug] at ClientRequest.emit (node:events:514:28)
##[debug] at TLSSocket.emitRequestTimeout (node:_http_client:840:9)
##[debug] at Object.onceWrapper (node:events:628:28)
##[debug] at TLSSocket.emit (node:events:526:[35](https://github.com/Veeps-Official/veeps_umbrella/actions/runs/8443612025/job/23127625152#step:3:35))
##[debug] at Socket._onTimeout (node:net:589:8)
##[debug] at listOnTimeout (node:internal/timers:573:17)
##[debug] at process.processTimers (node:internal/timers:514:7)
Error: Could not fetch /builds/otp/ubuntu-22.04/builds.txt from any hex.pm mirror
This was my mistake. After debugging all day I discovered that I'd missed adding hexpm-mirrors to the use of this action in one of the other steps. Sorry about that!
The bug
We have been running into #260 on a regular basis. In an attempt to fix it I configured our CI action with the official hex.pm mirror listed on their site as a backup in case it happens again.
The issue is that it appears that the
hexpm-mirrors
attribute is being ignored and the alternate mirror is not being attempted. I could be misinterpreting the output though. There is no output indicating that it failed to fetch from the alternate mirror, nor does it show up in the config output when it runs.Software versions
STR
Expected behaviour
Based on a quick glance of the code I expect there to be output when it failed attempting to download from each configured mirror.
Example Action Config
Action Output