Skip to content

Act step using docker silently fails when the image access is forbiddenΒ #2609

@pcarranza

Description

@pcarranza

Bug report info

Error: unknown flag: --bug-report

but:


./act_runner-0.2.11-linux-amd64 --version
act_runner version v0.2.11


### Command used with act

```sh
./act_runner daemon --config /etc/act_runner/config.yaml

Describe issue

When docker is correctly logged in to a registry, but the user does not have permission to access the container it is trying to pull, gitea act_runner silently fails the step without providing any feedback on the problem.

Upon a lot of debugging, I reached the error message:

Failed to pull docker image registry.gitlab.com/path_to_the_image_I_want/image_name:hamster: Error response from daemon: Head "https://registry.gitlab.com/v2/path_to_the_image_I_want/image_name/manifests/hamster": denied: access forbidden

The problem is not that access is forbidden, as expected, but that failure is completely silent.

Apologies if this arrives from gitea, but after reviewing the code I see that this issue happens inside act itself, as that's the one that is handling the step.

Link to GitHub repository

No response

Workflow content

jobs:
  monolith:
    runs-on: ubuntu-latest
    steps:
    - name: Login to GitLab Registry
      uses: docker/login-action@v3
      with:
        registry: registry.gitlab.com
        username: ${{ secrets.GITLAB_LOGIN }}
        password: ${{ secrets.GITLAB_TOKEN }}
    - uses: actions/checkout@v4
    - name: Do something
      uses: docker://registry.gitlab.com/path_to_the_image_I_want/image_name:hamster
      with:
        args: echo "We never get to see this"

Relevant log output

Jan 10 20:24:26 dev-01 act_runner[747]: [testing/monolith] [DEBUG]   🐳  docker pull registry.gitlab.com/path_to_the_image_I_want/image_name:hamster
Jan 10 20:24:27 dev-01 act_runner[747]: [testing/workflow]   ❌  Failure - Do something
Jan 10 20:24:27 dev-01 act_runner[747]: [testing/workflow] [DEBUG] expression '${{ github.workspace }}/.cache' rewritten to 'format('{0}/.cache', github.workspace)'

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions