erlef / setup-beam

Set up your BEAM-based GitHub Actions workflow (Erlang, Elixir, Gleam, ...)
MIT License
380 stars 52 forks source link

Flaky Installer issues #306

Open isaacsanders opened 1 month ago

isaacsanders commented 1 month ago

The bug

The tool cache install fails

Software versions

A list of software versions where the bug is apparent, as detailed as possible:

How to replicate

An ordered list of steps to replicate the bug:

Invoke a workflow using the action similarly to the following:

      - name: Set up Elixir
        uses: erlef/setup-beam@b9c58b0450cd832ccdb3c17cc156a47065d2114f # v1.18.1
        with:
          otp-version: "25"
          elixir-version: "1.16.3"

This won't always fail, but it fails often enough to raise concerns.

Expected behaviour

The versions should be installed and interact with the GHA cache normally.

Additional context

GHES 3.10

This is the error I'm seeing:

Action install Erlang/OTP OTP-25.3.2.13 failed for mirror https://builds.hex.pm/, with Error: File was unable to be removed Error: ENOTEMPTY: directory not empty, rmdir '/opt/hostedtoolcache/otp/ubuntu-22.04/OTP-25.3.2.13/x64/lib'
paulo-ferraz-oliveira commented 1 month ago

Hi. Thanks for the report.

I've seen that happen with other actions/contexts, so always assumed it was a GitHub Actions -specific issue, where they seem to be reusing the same container (?)

I'll leave this open in case someone else has input, but I don't think we ever try to remove our installed elements, or cache over them...

isaacsanders commented 1 month ago

I can post a stack trace. It does happen in the code

paulo-ferraz-oliveira commented 1 month ago

I can imagine it happen in the code, but we mean the action's code or some dependency?