nektos / act

Run your GitHub Actions locally 🚀
https://nektosact.com
MIT License
53.51k stars 1.34k forks source link

Setting docker socket inside runner on Fedora with Podman (using the official packages `podman` & `podman-docker`) and `act` #2393

Open brianjmurrell opened 1 month ago

brianjmurrell commented 1 month ago
          I have a similar issue on Fedora 39 using Podman (using the official packages `podman` & `podman-docker`) and `act` installed as an extension for the GitHub CLI (official package `gh`):
$ gh act
[Continuous Integration/code-style   ]   🐳  docker pull image=catthehacker/ubuntu:act-latest platform= username= forcePull=true
Error: permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=catthehacker%2Fubuntu&tag=act-latest": dial unix /var/run/docker.sock: connect: permission denied

Problems with this setup (Fedora 39 + Podman)

After some digging, I've identified several issues:

  1. /var/run/docker.sock is a broken link to /run/podman/podman.sock. The file /run/podman/podman.sock doesn't exist because by default Podman works in daemonless mode, so there's no daemon and therefore no socket. For the file /run/podman/podman.sock to exist, I've had to start/enable the systemd service for Podman (on Fedora: podman.socket & podman.service).
  2. My unprivileged user has permissions for /var/run/docker.sock, but not for /run/podman/podman.sock. To solve this, I've decided to enable the systemd service as an unprivileged user rather than as root, and set the environment variable DOCKER_HOST to point to /run/user/$EUID/podman/podman.sock.
  3. act seems to use the DOCKER_HOST environment variable for some steps of the process, but not all of them. When I set DOCKER_HOST=unix:///run/user/$EUID/podman/podman.sock, pulling the Docker image works, but creating the container still fails. In the end, I've decided to overwrite the symbolic link at /var/run/docker.sock to point to /run/user/$EUID/podman/podman.sock.

How to diagnose the root cause

Here are the steps I've used to find out the root cause:

  1. Check that the socket files exist and have the right permissions:

    sudo ls -l /var/run/docker.sock
    sudo ls -l /run/podman/podman.sock
  2. Create the socket if it doesn't exist:

    sudo systemctl start podman.socket podman.service
  3. Check that your user can read the sockets:

    curl --unix-socket /var/run/docker.sock http://localhost/version
    curl --unix-socket /run/podman/podman.sock http://localhost/version
  4. Enable the socket/service as an unprivileged user instead of root:

    sudo systemctl stop podman.socket podman.service
    systemctl start --user --now podman.socket podman.service
  5. Verify again using the user socket:

    curl --unix-socket /run/user/$EUID/podman/podman.sock http://localhost/version
    DOCKER_HOST=unix:///run/user/$EUID/podman/podman.sock gh act -v
  6. Overwrite the symbolic link at /var/run/docker.sock if act/podman is still trying to access /var/run/docker.sock instead of using the DOCKER_HOST environment variable:

    sudo ln -sf /run/user/$EUID/podman/podman.sock /var/run/docker.sock

    and check again:

    curl --unix-socket /var/run/docker.sock http://localhost/version
    gh act -v

Solution for Fedora 39 + Podman

In the end, these are the commands that I've used to fix the problem on Fedora 39 using Podman:

systemctl enable --user --now podman.socket podman.service
sudo ln -sf /run/user/$EUID/podman/podman.sock /var/run/docker.sock

Notice that this is an acceptable workaround for me, since I'm the only user who uses act & podman on my computer, but it may not work if multiple unprivileged users need to use act & podman on the same computer, because the user socket only has permissions for that specific user.

Originally posted by @jonancm in https://github.com/nektos/act/issues/1744#issuecomment-1873335752

brianjmurrell commented 1 month ago
systemctl enable --user --now podman.socket podman.service
sudo ln -sf /run/user/$EUID/podman/podman.sock /var/run/docker.sock

Didn't seem to work for me.

Ultimately, shouldn't the docker socket path (i.e. $DOCKER_HOST if specified) that is being used by act to start the container that the runner is in[1] be the same socket path that is used by docker commands inside the runner?

[1] The path that is specified as the very first line of act's output: time="2024-07-10T09:58:27-04:00" level=info msg="Using docker host 'unix:///run/user/1001/podman/podman.sock', and daemon socket 'unix:///run/user/1001/podman/podman.sock'" which in my case comes from my $DOCKER_HOST env. variable.

ChristopherHX commented 1 month ago

Yes a broken symlink let act's auto detected to abort searching it's hacky list of paths.

Ultimately, shouldn't the docker socket path (i.e. $DOCKER_HOST if specified) that is being used by act to start the container that the runner is in[1] be the same socket path that is used by docker commands inside the runner?

Hmm, please note due to the immense amount of log content for the case DOCKER_HOST unset in this issue there is not enough information for the valid DOCKER_HOST=unix:///run/user/1001/podman/podman.sock case that is expected to work

brianjmurrell commented 1 month ago
  • ln -sf is too weak to survive a docker -v <host-path>:/var/run/docker.sock, something like mount --bind is better

In fact ln -sf (i.e. the workaround above) is working. But only if I set SELinux to permissive (which is a bad thing).

Yes a broken symlink let act's auto detected to abort searching it's hacky list of paths.

I suppose it's searching it's hacky list of paths ought to avoid broken symlinks and move on to the next candidate. But is act actually using it's hacky list of paths at this point? What is failing here is a docker command initiated from the workflow in the runner. This is just regular docker here isn't it? It would use $DOCKER_HOST if it were propagated into the runner namespace wouldn't it? Of course that assumes that the path that $DOCKER_HOST points at is mounted into the runner also doesn't it?

Hmm, please note due to the immense amount of log content for the case DOCKER_HOST unset in this issue there is not enough information for the valid DOCKER_HOST=unix:///run/user/1001/podman/podman.sock case that is expected to work

So are you asking for more information? I'd be happy to provide whatever is necessary. I can tell you that DOCKER_HOST is unset in runner. That seems like the minimum requirement for all of this to work doesn't it?

ChristopherHX commented 1 month ago

This is just regular docker here isn't it?

No it's the go client library of docker to send api requests a lot of docker cli behavior doesn't apply, all docker commands shown in the log are all symbolical and no real command

ChristopherHX commented 1 month ago

I'm not using SELinux, since I use ubuntu and have a permissive developer system.

This can indeed make things much worse

I think you misunderstood, DOCKER_HOST should be enough for act if it is a unix:// protocol to use podman of any socket location that is desired.

Also act does never add any bind mount selinux labels, so I doubt act works well

brianjmurrell commented 1 month ago

This is just regular docker here isn't it?

No it's the go client library of docker to send api requests a lot of docker cli behavior doesn't apply, all docker commands shown in the log are all symbolical and no real command

To be perfectly clear, what is failing here is a step like this in my workflow file:

      - name: …
        continue-on-error: true
        run: docker build --file Dockerfile
                          --tag build
                         .

and/or:

      - name: …
        continue-on-error: true
        run: |
                     docker run --name build-${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.distro }}
                                --user build
                                -v "$PWD":"$PWD" -w "$PWD"
                                --privileged=true
                                -e FULLNAME="$FULLNAME"
                     make chrootbuild"

Are you telling me that the go client library and/or the act runner are intercepting these docker commands in the run: statement and turning them into API requests?

I'm not using SELinux, since I use ubuntu and have a permissive developer system.

Well, "developer system" is not really any reason to make SELinux permissive (on distros that support SELinux). In fact it's a great way to develop software that then breaks on end-user enforcing systems.

I think you misunderstood, DOCKER_HOST should be enough for act if it is a unix:// protocol to use podman of any socket location that is desired.

The use of $DOCKER_HOST outside of the runner, to tell act where to find the socket works fine. It's the problem of then using the docker command inside the workflow on the runner that is having the problem.

ChristopherHX commented 1 month ago

Yes it helps to provide more context, like you did now. Information is all and nothing.

Are you telling me that the go client library and/or the act runner are intercepting these docker commands in the run: statement and turning them into API requests?

No, you didn't tell me that this is inside a user defined run step, how should I guess that? All errors posted here were about act's log output coming from the go client library used inside of act

Your problem is of the following nature (act_runner is a Gitea Actions runner for an open source github alternative) Except that I'm writing about dind images, in your cases is the podman daemon outside of the workflow container

If I'm writing nowadays about dind I no longer think that a dind for act_runner image gives you a true dind experience

For example in a true dind runner I expect that I could do docker run --rm -v $PWD:/tmp/mnt ubuntu:latest ls /tmp/mnt > within a run step and have my workflow working dir mounted in the sub container of my workflow

Those dind runner images however would mount paths from the act_runner container (potential harmful if this socket > get's bind mounted), because dockerd lives there. Did take years to change my mind. What do you expect from dind? For kubernetes are those act_runner dind images needed, but otherwise you have to deal > with the same issues as without dind or avoid bind mounts everywhere

You need dind for this to work, but act doesn't have such a feature as of now

I can use podman, beside the container nesting problem that you just introduced ``` DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock ~/Downloads/act_Linux_x86_64/act -v -W w.yml DEBU[0000] Handling container host and socket DEBU[0000] Defaulting container socket to DOCKER_HOST INFO[0000] Using docker host 'unix:///run/user/1000/podman/podman.sock', and daemon socket 'unix:///run/user/1000/podman/podman.sock' DEBU[0000] Loading environment from /tmp/test/.env DEBU[0000] Loading action inputs from /tmp/test/.input DEBU[0000] Loading secrets from /tmp/test/.secrets DEBU[0000] Loading vars from /tmp/test/.vars DEBU[0000] Evaluated matrix inclusions: map[] DEBU[0000] Loading workflow '/tmp/test/w.yml' DEBU[0000] Conditional GET for notices etag=8a696e48-e785-4b66-ba18-c6069449c189 DEBU[0000] Reading workflow '/tmp/test/w.yml' DEBU[0000] Preparing plan with all jobs DEBU[0000] Using the only detected workflow event: pull_request DEBU[0000] Planning jobs for event: pull_request DEBU[0000] gc: 2024-07-10 20:17:04.75610565 +0200 CEST m=+0.009934482 module=artifactcache DEBU[0000] Plan Stages: [0xc000011050] DEBU[0000] Stages Runs: [build] DEBU[0000] Job.Name: build DEBU[0000] Job.RawNeeds: {0 0 [] 0 0} DEBU[0000] Job.RawRunsOn: {8 0 !!str ubuntu-latest [] 8 14} DEBU[0000] Job.Env: {0 0 [] 0 0} DEBU[0000] Job.If: {0 0 success() [] 0 0} DEBU[0000] Job.Steps: docker info DEBU[0000] Job.TimeoutMinutes: DEBU[0000] Job.Services: map[] DEBU[0000] Job.Strategy: DEBU[0000] Job.RawContainer: {8 0 !!str docker:latest [] 9 16} DEBU[0000] Job.Defaults.Run.Shell: DEBU[0000] Job.Defaults.Run.WorkingDirectory: DEBU[0000] Job.Outputs: map[] DEBU[0000] Job.Uses: DEBU[0000] Job.With: map[] DEBU[0000] Job.Result: DEBU[0000] Empty Strategy, matrixes=[map[]] DEBU[0000] Job Matrices: [map[]] DEBU[0000] Runner Matrices: map[] DEBU[0000] Final matrix after applying user inclusions '[map[]]' WARN[0000] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist ERRO[0000] path/tmp/testnot located inside a git repository error="repository does not exist" WARN[0000] unable to get git revision: repository does not exist DEBU[0000] Detected CPUs: 8 [check docs/build] [DEBUG] evaluating expression 'success()' [check docs/build] [DEBUG] expression 'success()' evaluated to 'true' [check docs/build] 🚀 Start image=docker:latest DEBU[0001] Saving notices etag=8a696e48-e785-4b66-ba18-c6069449c189 DEBU[0001] No new notices DEBU[0003] Parallel tasks (0) below minimum, setting to 1 [check docs/build] 🐳 docker pull image=docker:latest platform= username= forcePull=true [check docs/build] [DEBUG] 🐳 docker pull docker:latest [check docs/build] [DEBUG] pulling image 'docker.io/library/docker:latest' () [check docs/build] [DEBUG] Pulling fs layer :: ffd7f4f004af [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=> ] 720.1kB/18.18MB [check docs/build] [DEBUG] Pulling fs layer :: b725fb2fbdc9 [check docs/build] [DEBUG] Pulling fs layer :: c587ddc27758 [check docs/build] [DEBUG] Download complete :: c587ddc27758 [check docs/build] [DEBUG] Pulling fs layer :: ea18b09b0fcf [check docs/build] [DEBUG] Pulling fs layer :: 4f4fb700ef54 [check docs/build] [DEBUG] Download complete :: 4f4fb700ef54 [check docs/build] [DEBUG] Pulling fs layer :: ec99f8b99825 [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [====> ] 1.665MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [> ] 168.4kB/18.07MB [check docs/build] [DEBUG] Pulling fs layer :: e51f2aba2b6c [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [==> ] 343.3kB/7.87MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [=> ] 73.25kB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=====> ] 2.026MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [> ] 37.46kB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=> ] 392.5kB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=====> ] 884kB/7.87MB [check docs/build] [DEBUG] Pulling fs layer :: c8e3db14824a [check docs/build] [DEBUG] Download complete :: c8e3db14824a [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==> ] 175.8kB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=======> ] 2.685MB/18.18MB [check docs/build] [DEBUG] Pulling fs layer :: f815063ff6c5 [check docs/build] [DEBUG] Download complete :: f815063ff6c5 [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==> ] 736.5kB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [> ] 101.6kB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=======> ] 1.244MB/7.87MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [===> ] 240.9kB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [========> ] 3.156MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==> ] 916.8kB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [> ] 192.5kB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [==========> ] 1.633MB/7.87MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [====> ] 306.4kB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===========> ] 4.004MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===> ] 1.244MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [> ] 281.8kB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=============> ] 2.14MB/7.87MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [=====> ] 372kB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [============> ] 4.692MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [====> ] 1.474MB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [================> ] 2.534MB/7.87MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [> ] 347.4kB/18.79MB [check docs/build] [DEBUG] Pulling fs layer :: 0ad1a5a3e7f7 [check docs/build] [DEBUG] Download complete :: 0ad1a5a3e7f7 [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [==============> ] 5.2MB/18.18MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [======> ] 437.5kB/3.624MB [check docs/build] [DEBUG] Pulling fs layer :: 01555ddc68a3 [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [====> ] 1.801MB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [==================> ] 2.976MB/7.87MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=> ] 445.7kB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===============> ] 5.806MB/18.18MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [=======> ] 515.3kB/3.624MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [> ] 69.77kB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=====> ] 2.087MB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=====================> ] 3.435MB/7.87MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=> ] 511.2kB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=================> ] 6.298MB/18.18MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [========> ] 580.9kB/3.624MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=> ] 245.8kB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [======> ] 2.349MB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [========================> ] 3.894MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [==================> ] 6.839MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=> ] 576.8kB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=> ] 327.7kB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=======> ] 2.546MB/18.07MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [========> ] 630kB/3.624MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [===========================> ] 4.287MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [====================> ] 7.412MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=> ] 679.2kB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=======> ] 2.824MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==> ] 507.9kB/9.064MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==========> ] 731.4kB/3.624MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [===============================> ] 4.893MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=====================> ] 7.969MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==> ] 761.1kB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [========> ] 3.037MB/18.07MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [===========> ] 829.7kB/3.624MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===> ] 630kB/9.064MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=================================> ] 5.352MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=======================> ] 8.42MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [========> ] 3.234MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==> ] 843kB/18.79MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [============> ] 928kB/3.624MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [====> ] 777.5kB/9.064MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [====================================> ] 5.737MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [========================> ] 8.878MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=========> ] 3.48MB/18.07MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==============> ] 1.022MB/3.624MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==> ] 944.4kB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [======================================> ] 6.13MB/7.87MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [====> ] 870.7kB/9.064MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=========================> ] 9.353MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==========> ] 3.676MB/18.07MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [===============> ] 1.104MB/3.624MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==> ] 1.026MB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [==========================================> ] 6.703MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===========================> ] 9.878MB/18.18MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=====> ] 1.035MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==========> ] 3.939MB/18.07MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [================> ] 1.219MB/3.624MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==> ] 1.108MB/18.79MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=============================================> ] 7.179MB/7.87MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [============================> ] 10.22MB/18.18MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [======> ] 1.149MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===========> ] 4.152MB/18.07MB [check docs/build] [DEBUG] Downloading :: ea18b09b0fcf :: [=================================================> ] 7.748MB/7.87MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==================> ] 1.346MB/3.624MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===> ] 1.223MB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=============================> ] 10.73MB/18.18MB [check docs/build] [DEBUG] Download complete :: ea18b09b0fcf [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [======> ] 1.248MB/9.064MB [check docs/build] [DEBUG] Pulling fs layer :: 8fd2768edf58 [check docs/build] [DEBUG] Download complete :: 8fd2768edf58 [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [============> ] 4.414MB/18.07MB [check docs/build] [DEBUG] Pulling fs layer :: cc8d9adefda6 [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [====================> ] 1.506MB/3.624MB [check docs/build] [DEBUG] Download complete :: cc8d9adefda6 [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===> ] 1.354MB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===============================> ] 11.45MB/18.18MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=======> ] 1.411MB/9.064MB [check docs/build] [DEBUG] Pulling fs layer :: 50053650ae9f [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [============> ] 4.692MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===> ] 1.469MB/18.79MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [======================> ] 1.637MB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [================================> ] 11.96MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [> ] 326.9kB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========> ] 1.493MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=============> ] 4.987MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [====> ] 1.567MB/18.79MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [========================> ] 1.8MB/3.624MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [==================================> ] 12.56MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [> ] 638.2kB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========> ] 1.608MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==============> ] 5.167MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [====> ] 1.686MB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===================================> ] 13MB/18.18MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [===========================> ] 1.964MB/3.624MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [> ] 916.7kB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=========> ] 1.714MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===============> ] 5.446MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [====> ] 1.8MB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [====================================> ] 13.33MB/18.18MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==============================> ] 2.206MB/3.624MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=> ] 1.244MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==========> ] 1.829MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===============> ] 5.724MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=====> ] 1.981MB/18.79MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [======================================> ] 13.97MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=> ] 1.523MB/56.76MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [================================> ] 2.386MB/3.624MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=====> ] 2.112MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [================> ] 5.954MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==========> ] 1.895MB/9.064MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=======================================> ] 14.44MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=> ] 1.76MB/56.76MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [====================================> ] 2.624MB/3.624MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=================> ] 6.183MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=====> ] 2.231MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===========> ] 2.009MB/9.064MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=========================================> ] 15.03MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=> ] 2.153MB/56.76MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [======================================> ] 2.804MB/3.624MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=================> ] 6.413MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [======> ] 2.378MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===========> ] 2.108MB/9.064MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [==========================================> ] 15.52MB/18.18MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==> ] 2.513MB/56.76MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [=========================================> ] 3.033MB/3.624MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==================> ] 6.576MB/18.07MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===========================================> ] 15.94MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [======> ] 2.476MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [============> ] 2.19MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==> ] 2.894MB/56.76MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [============================================> ] 3.23MB/3.624MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===================> ] 6.888MB/18.07MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [=============================================> ] 16.52MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=======> ] 2.64MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [============> ] 2.288MB/9.064MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [==============================================> ] 3.394MB/3.624MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==> ] 3.271MB/56.76MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [==============================================> ] 16.98MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===================> ] 7.101MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=======> ] 2.771MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=============> ] 2.37MB/9.064MB [check docs/build] [DEBUG] Downloading :: ec99f8b99825 :: [================================================> ] 3.541MB/3.624MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===> ] 3.664MB/56.76MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [===============================================> ] 17.4MB/18.18MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [====================> ] 7.281MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=======> ] 2.972MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===> ] 4.172MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=============> ] 2.448MB/9.064MB [check docs/build] [DEBUG] Download complete :: ec99f8b99825 [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [====================> ] 7.461MB/18.07MB [check docs/build] [DEBUG] Downloading :: ffd7f4f004af :: [================================================> ] 17.81MB/18.18MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [========> ] 3.119MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [====> ] 4.569MB/56.76MB [check docs/build] [DEBUG] Download complete :: ffd7f4f004af [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==============> ] 2.546MB/9.064MB [check docs/build] [DEBUG] Pulling fs layer :: f74df8d071d8 [check docs/build] [DEBUG] Download complete :: f74df8d071d8 [check docs/build] [DEBUG] Pulling fs layer :: 61c7ab8838b2 [check docs/build] [DEBUG] Download complete :: 61c7ab8838b2 [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=====================> ] 7.658MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [========> ] 3.382MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [====> ] 5.274MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==============> ] 2.661MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=====================> ] 7.854MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=========> ] 3.693MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=====> ] 6.028MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============> ] 2.759MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [======================> ] 8.084MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=====> ] 6.699MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==========> ] 4.004MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============> ] 2.857MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [======================> ] 8.28MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [======> ] 7.539MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===========> ] 4.397MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=======================> ] 8.575MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [================> ] 2.976MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=======> ] 8.227MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [============> ] 4.758MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [========================> ] 8.76MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [================> ] 3.058MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=======> ] 9.03MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=============> ] 5.151MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [========================> ] 9.034MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=================> ] 3.189MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [========> ] 9.865MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==============> ] 5.532MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=========================> ] 9.329MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==================> ] 3.336MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=========> ] 10.49MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===============> ] 5.81MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==========================> ] 9.591MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===================> ] 3.476MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==========> ] 11.38MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===========================> ] 9.894MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [================> ] 6.122MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===================> ] 3.59MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==========> ] 12.11MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [============================> ] 10.27MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=================> ] 6.548MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===========> ] 12.81MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [====================> ] 3.73MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=============================> ] 10.6MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==================> ] 6.843MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===========> ] 13.37MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=====================> ] 3.844MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==============================> ] 10.93MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==================> ] 7.121MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [============> ] 13.98MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=====================> ] 3.975MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===============================> ] 11.31MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===================> ] 7.465MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [============> ] 14.7MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [================================> ] 11.65MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [======================> ] 4.09MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [====================> ] 7.789MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=============> ] 15.26MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=================================> ] 11.96MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=====================> ] 8.084MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=======================> ] 4.188MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==============> ] 16.03MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [======================> ] 8.432MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==================================> ] 12.37MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=======================> ] 4.328MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==============> ] 16.59MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=======================> ] 8.882MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===================================> ] 12.77MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========================> ] 4.41MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===============> ] 17.09MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [====================================> ] 13.05MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [========================> ] 9.161MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========================> ] 4.492MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===============> ] 17.68MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=====================================> ] 13.51MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=========================> ] 9.603MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=========================> ] 4.573MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [================> ] 18.55MB/56.76MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [======================================> ] 14.04MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==========================> ] 9.964MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=========================> ] 4.688MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [================> ] 18.93MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===========================> ] 10.32MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [========================================> ] 14.46MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==========================> ] 4.77MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=================> ] 19.5MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [============================> ] 10.68MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=========================================> ] 15MB/18.07MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==========================> ] 4.872MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=================> ] 20.11MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=============================> ] 11.05MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==========================================> ] 15.36MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==================> ] 20.73MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===========================> ] 4.987MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===========================================> ] 15.7MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==============================> ] 11.53MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==================> ] 21.21MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [============================> ] 5.135MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===============================> ] 11.92MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [============================================> ] 16.05MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===================> ] 21.72MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [============================> ] 5.233MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [================================> ] 12.35MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=============================================> ] 16.41MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===================> ] 22.21MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=============================> ] 5.339MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=================================> ] 12.72MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [==============================================> ] 16.73MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [====================> ] 22.78MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==============================> ] 5.454MB/9.064MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [===============================================> ] 17.06MB/18.07MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==================================> ] 13.12MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [====================> ] 23.29MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==============================> ] 5.569MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===================================> ] 13.51MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [================================================> ] 17.44MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=====================> ] 23.94MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============================> ] 5.667MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [====================================> ] 13.72MB/18.79MB [check docs/build] [DEBUG] Downloading :: b725fb2fbdc9 :: [=================================================> ] 17.82MB/18.07MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=====================> ] 24.32MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============================> ] 5.782MB/9.064MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=====================================> ] 14.23MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [======================> ] 25.11MB/56.76MB [check docs/build] [DEBUG] Download complete :: b725fb2fbdc9 [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [=======================================> ] 14.77MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [================================> ] 5.97MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [======================> ] 25.71MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [========================================> ] 15.33MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=================================> ] 6.101MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=======================> ] 26.19MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [===========================================> ] 16.18MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==================================> ] 6.298MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=======================> ] 26.63MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [============================================> ] 16.79MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===================================> ] 6.429MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [========================> ] 27.37MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [==============================================> ] 17.49MB/18.79MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [====================================> ] 6.576MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [========================> ] 27.86MB/56.76MB [check docs/build] [DEBUG] Downloading :: e51f2aba2b6c :: [================================================> ] 18.31MB/18.79MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=========================> ] 28.51MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=====================================> ] 6.822MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=========================> ] 29.06MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [======================================> ] 6.97MB/9.064MB [check docs/build] [DEBUG] Download complete :: e51f2aba2b6c [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==========================> ] 29.6MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=======================================> ] 7.109MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==========================> ] 30.14MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========================================> ] 7.273MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===========================> ] 30.74MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [========================================> ] 7.42MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===========================> ] 31.51MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=========================================> ] 7.568MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [============================> ] 32.51MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==========================================> ] 7.715MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=============================> ] 33.8MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===========================================> ] 7.846MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==============================> ] 34.95MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===========================================> ] 7.973MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===============================> ] 36.31MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [============================================> ] 8.137MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=================================> ] 37.53MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=============================================> ] 8.252MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=================================> ] 38.58MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [==============================================> ] 8.399MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===================================> ] 39.84MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============================================> ] 8.53MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [====================================> ] 41.33MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [===============================================> ] 8.694MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=====================================> ] 42.52MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [======================================> ] 43.49MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [================================================> ] 8.825MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=======================================> ] 45.19MB/56.76MB [check docs/build] [DEBUG] Downloading :: 01555ddc68a3 :: [=================================================> ] 8.973MB/9.064MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [========================================> ] 46.52MB/56.76MB [check docs/build] [DEBUG] Download complete :: 01555ddc68a3 [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==========================================> ] 47.86MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===========================================> ] 49.25MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [============================================> ] 50.74MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [==============================================> ] 52.3MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [===============================================> ] 53.53MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [================================================> ] 54.94MB/56.76MB [check docs/build] [DEBUG] Downloading :: 50053650ae9f :: [=================================================> ] 56.25MB/56.76MB [check docs/build] [DEBUG] Download complete :: 50053650ae9f [check docs/build] [DEBUG] Pulling fs layer :: 8e1d12601bcc [check docs/build] [DEBUG] Download complete :: 8e1d12601bcc [check docs/build] [DEBUG] Download complete :: 8e1d12601bcc [check docs/build] [DEBUG] Removed container: cc7cd7ac81b5a39dbec782ee84519e3625dde239125d8c51462fe3fec7974731 [check docs/build] [DEBUG] 🐳 docker volume rm act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f [check docs/build] [DEBUG] 🐳 docker volume rm act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f-env DEBU[0122] Parallel tasks (0) below minimum, setting to 1 [check docs/build] 🐳 docker create image=docker:latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [check docs/build] [DEBUG] Common container.Config ==> &{Hostname: Domainname: User: AttachStdin:false AttachStdout:false AttachStderr:false ExposedPorts:map[] Tty:true OpenStdin:false StdinOnce:false Env:[RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8] Cmd:[] Healthcheck: ArgsEscaped:false Image:docker:latest Volumes:map[] WorkingDir:/tmp/test Entrypoint:[] NetworkDisabled:false MacAddress: OnBuild:[] Labels:map[] StopSignal: StopTimeout: Shell:[]} [check docs/build] [DEBUG] Common container.HostConfig ==> &{Binds:[/run/user/1000/podman/podman.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:host PortBindings:map[] RestartPolicy:{Name: MaximumRetryCount:0} AutoRemove:false VolumeDriver: VolumesFrom:[] ConsoleSize:[0 0] Annotations:map[] CapAdd:[] CapDrop:[] CgroupnsMode: DNS:[] DNSOptions:[] DNSSearch:[] ExtraHosts:[] GroupAdd:[] IpcMode: Cgroup: Links:[] OomScoreAdj:0 PidMode: Privileged:false PublishAllPorts:false ReadonlyRootfs:false SecurityOpt:[] StorageOpt:map[] Tmpfs:map[] UTSMode: UsernsMode: ShmSize:0 Sysctls:map[] Runtime: Isolation: Resources:{CPUShares:0 Memory:0 NanoCPUs:0 CgroupParent: BlkioWeight:0 BlkioWeightDevice:[] BlkioDeviceReadBps:[] BlkioDeviceWriteBps:[] BlkioDeviceReadIOps:[] BlkioDeviceWriteIOps:[] CPUPeriod:0 CPUQuota:0 CPURealtimePeriod:0 CPURealtimeRuntime:0 CpusetCpus: CpusetMems: Devices:[] DeviceCgroupRules:[] DeviceRequests:[] KernelMemory:0 KernelMemoryTCP:0 MemoryReservation:0 MemorySwap:0 MemorySwappiness: OomKillDisable: PidsLimit: Ulimits:[] CPUCount:0 CPUPercent:0 IOMaximumIOps:0 IOMaximumBandwidth:0} Mounts:[{Type:volume Source:act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f-env Target:/var/run/act ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:} {Type:volume Source:act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f Target:/tmp/test ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:} {Type:volume Source:act-toolcache Target:/opt/hostedtoolcache ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:}] MaskedPaths:[] ReadonlyPaths:[] Init:} [check docs/build] [DEBUG] input.NetworkAliases ==> [build] [check docs/build] [DEBUG] Created container name=act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f id=1b049d11da37de171987fbc8b6940e0595019eb1c419258a85639948460ecdc2 from image docker:latest (platform: ) [check docs/build] [DEBUG] ENV ==> [RUNNER_TOOL_CACHE=/opt/hostedtoolcache RUNNER_OS=Linux RUNNER_ARCH=X64 RUNNER_TEMP=/tmp LANG=C.UTF-8] [check docs/build] 🐳 docker run image=docker:latest platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host" [check docs/build] [DEBUG] Starting container: 1b049d11da37de171987fbc8b6940e0595019eb1c419258a85639948460ecdc2 [check docs/build] [DEBUG] Started container: 1b049d11da37de171987fbc8b6940e0595019eb1c419258a85639948460ecdc2 [check docs/build] [DEBUG] Writing entry to tarball workflow/event.json len:2 [check docs/build] [DEBUG] Writing entry to tarball workflow/envs.txt len:0 [check docs/build] [DEBUG] Extracting content to '/var/run/act/' [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] [DEBUG] setupEnv => map[ACT:true ACTIONS_CACHE_URL:http://192.168.178.20:40267/ CI:true GITHUB_ACTION:0 GITHUB_ACTIONS:true GITHUB_ACTION_PATH: GITHUB_ACTION_REF: GITHUB_ACTION_REPOSITORY: GITHUB_ACTOR:nektos/act GITHUB_API_URL:https://api.github.com GITHUB_BASE_REF: GITHUB_EVENT_NAME:pull_request GITHUB_EVENT_PATH:/var/run/act/workflow/event.json GITHUB_GRAPHQL_URL:https://api.github.com/graphql GITHUB_HEAD_REF: GITHUB_JOB:build GITHUB_REF:refs/pull/%!f()/merge GITHUB_REF_NAME:%!f()/merge GITHUB_REF_TYPE: GITHUB_REPOSITORY: GITHUB_REPOSITORY_OWNER: GITHUB_RETENTION_DAYS:0 GITHUB_RUN_ID:1 GITHUB_RUN_NUMBER:1 GITHUB_SERVER_URL:https://github.com GITHUB_SHA: GITHUB_WORKFLOW:check docs GITHUB_WORKSPACE:/tmp/test ImageOS:ubuntu20 RUNNER_PERFLOG:/dev/null RUNNER_TRACKING_ID:] [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] [DEBUG] evaluating expression '' [check docs/build] [DEBUG] expression '' evaluated to 'true' [check docs/build] ⭐ Run Main docker info [check docs/build] [DEBUG] Writing entry to tarball workflow/outputcmd.txt len:0 [check docs/build] [DEBUG] Writing entry to tarball workflow/statecmd.txt len:0 [check docs/build] [DEBUG] Writing entry to tarball workflow/pathcmd.txt len:0 [check docs/build] [DEBUG] Writing entry to tarball workflow/envs.txt len:0 [check docs/build] [DEBUG] Writing entry to tarball workflow/SUMMARY.md len:0 [check docs/build] [DEBUG] Extracting content to '/var/run/act' [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist [check docs/build] [DEBUG] Wrote command docker info to 'workflow/0.sh' [check docs/build] [DEBUG] Writing entry to tarball workflow/0.sh len:13 [check docs/build] [DEBUG] Extracting content to '/var/run/act' [check docs/build] 🐳 docker exec cmd=[sh -e /var/run/act/workflow/0.sh] user= workdir= [check docs/build] [DEBUG] Exec command '[sh -e /var/run/act/workflow/0.sh]' [check docs/build] [DEBUG] Working directory '/tmp/test' | Client: | Version: 27.0.3 | Context: default | Debug Mode: false | Plugins: | buildx: Docker Buildx (Docker Inc.) | Version: v0.15.1 | Path: /usr/local/libexec/docker/cli-plugins/docker-buildx | compose: Docker Compose (Docker Inc.) | Version: v2.28.1 | Path: /usr/local/libexec/docker/cli-plugins/docker-compose | | Server: | Containers: 1 | Running: 1 | Paused: 0 | Stopped: 0 | Images: 8 | Server Version: 4.9.3 | Storage Driver: overlay | Supports d_type: true | Native Overlay Diff: true | Using metacopy: false | Supports shifting: false | Supports volatile: true | Backing Filesystem: extfs | Cgroup Driver: systemd | Cgroup Version: 2 | Plugins: | Volume: local | Network: bridge macvlan ipvlan | Log: k8s-file none passthrough journald | Swarm: inactive | Runtimes: runc runj crun kata krun ocijail runsc youki crun-wasm | Default Runtime: runc | Init Binary: | containerd version: | runc version: | init version: | Security Options: | apparmor | seccomp | Profile: default | rootless | Kernel Version: 6.8.0-35-generic | Operating System: ubuntu | OSType: linux | Architecture: amd64 | CPUs: 8 | Total Memory: 15.32GiB | Name: XPS13 | ID: e2f7404a-9b1e-48a7-9bd0-7d97bc385cc0 | Docker Root Dir: /home/christopher/.local/share/containers/storage | Debug Mode: false | Experimental: true | Live Restore Enabled: false | Product License: Apache-2.0 | [check docs/build] ✅ Success - Main docker info [check docs/build] Cleaning up container for job build [check docs/build] [DEBUG] Removed container: 1b049d11da37de171987fbc8b6940e0595019eb1c419258a85639948460ecdc2 [check docs/build] [DEBUG] 🐳 docker volume rm act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f [check docs/build] [DEBUG] 🐳 docker volume rm act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f-env [check docs/build] 🏁 Job succeeded [check docs/build] unable to get git repo (githubInstance: github.com; remoteName: origin, repoPath: /tmp/test): repository does not exist [check docs/build] path/tmp/testnot located inside a git repository [check docs/build] unable to get git revision: repository does not exist ```
ChristopherHX commented 1 month ago
  • ln -sf is too weak to survive a docker -v <host-path>:/var/run/docker.sock, something like mount --bind is better

In fact ln -sf (i.e. the workaround above) is working. But only if I set SELinux to permissive (which is a bad thing).

I doubt docker info works inside the workflow if you do that without pointing with DOCKER_HOST to a unix socket that is not a symlink After bind mount you have a dead symlink in the container

Keep in mind avoiding errors is not the same as making things work

brianjmurrell commented 1 month ago

Yes it helps to provide more context, like you did now. Information is all and nothing.

Are you telling me that the go client library and/or the act runner are intercepting these docker commands in the run: statement and turning them into API requests?

No, you didn't tell me that this is inside a user defined run step, how should I guess that?

The title of this issue is Setting docker socket inside runner. Unless there is something I am missing, inside [the] runner implies the use of docker commands inside the runner. I'm not sure how else docker would be used inside the runner.

I can use podman, beside the container nesting problem that you just introduced

Yes, I am using podman just fine, modulo wanting to use docker in a run: step due to the assumption of binding /var/run/docker.sock into the runner container. It seems to me that act should be binding whatever socket it is using into the container, not a hard-coded (or however it's determined) /var/run/docker.sock.

ChristopherHX commented 1 month ago

It seems to me that act should be binding whatever socket it is using into the container, not a hard-coded (or however it's determined) /var/run/docker.sock.

But act does exactly that for me, please expand the collapsed log in https://github.com/nektos/act/issues/2393#issuecomment-2221174801.

DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock ~/Downloads/act_Linux_x86_64/act -v -W w.yml

[check docs/build] [DEBUG] Common container.HostConfig ==> &{Binds:[/run/user/1000/podman/podman.sock:/var/run/docker.sock] ContainerIDFile: LogConfig:{Type: Config:map[]} NetworkMode:host PortBindings:map[] RestartPolicy:{Name: MaximumRetryCount:0} AutoRemove:false VolumeDriver: VolumesFrom:[] ConsoleSize:[0 0] Annotations:map[] CapAdd:[] CapDrop:[] CgroupnsMode: DNS:[] DNSOptions:[] DNSSearch:[] ExtraHosts:[] GroupAdd:[] IpcMode: Cgroup: Links:[] OomScoreAdj:0 PidMode: Privileged:false PublishAllPorts:false ReadonlyRootfs:false SecurityOpt:[] StorageOpt:map[] Tmpfs:map[] UTSMode: UsernsMode: ShmSize:0 Sysctls:map[] Runtime: Isolation: Resources:{CPUShares:0 Memory:0 NanoCPUs:0 CgroupParent: BlkioWeight:0 BlkioWeightDevice:[] BlkioDeviceReadBps:[] BlkioDeviceWriteBps:[] BlkioDeviceReadIOps:[] BlkioDeviceWriteIOps:[] CPUPeriod:0 CPUQuota:0 CPURealtimePeriod:0 CPURealtimeRuntime:0 CpusetCpus: CpusetMems: Devices:[] DeviceCgroupRules:[] DeviceRequests:[] KernelMemory:0 KernelMemoryTCP:0 MemoryReservation:0 MemorySwap:0 MemorySwappiness: OomKillDisable: PidsLimit: Ulimits:[] CPUCount:0 CPUPercent:0 IOMaximumIOps:0 IOMaximumBandwidth:0} Mounts:[{Type:volume Source:act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f-env Target:/var/run/act ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:} {Type:volume Source:act-check-docs-build-207843b3f40f24fbdcf3e9acdca6e0dfbc66756b2616c30371c7a1815189603f Target:/tmp/test ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:} {Type:volume Source:act-toolcache Target:/opt/hostedtoolcache ReadOnly:false Consistency: BindOptions: VolumeOptions: TmpfsOptions: ClusterOptions:}] MaskedPaths:[] ReadonlyPaths:[] Init:}

Only the dest socket /var/run/docker.sock is hardcoded as of now, with the option to turn off that mount

However it doesn't solve your problem, because the socket bind mount is the cause of your problem

    C4Context
      title System Context diagram for Internet Banking System
      Boundary(system, "Host System") {
        System(podmansock, "podman", "Allows to run containers")
        Boundary(podcontainers, "Podman Containers") {
            System(jobContainer, "Job Container")
            System(dockerruncommand, "Docker Run Command")
        }

        System(act, "act", "Allows to run workflows")

      }
      Rel(act, podmansock, "")
      Rel(act, jobContainer, "")
      Rel(jobContainer, dockerruncommand, "Broken Bind Mounts!!!")
      Rel(jobContainer, podmansock, "Broken Bind Mounts!!!")

The job container now tries to mount the path of the $PWD of the container from your host system to the "Docker Run Command" container.

You want to mount the path of the $PWD of the container from your container to the "Docker Run Command" container.

Only if podman is part of jobcontainer and "Docker Run Command" is spawned inside of jobcontainer everything is working like with VM and no container.

brianjmurrell commented 1 month ago

And so does this become an issue particularly when you try to bind paths inside the runner into the docker container you start in the runner? I.e. doing something like:

      - name: Run in Docker
        run: |
             set -eux
             rm -rf result
             mkdir -p result
             touch result/flag
             docker run --name build-"$unique"-${{ matrix.distro }}           \
                        "${docker_args[@]}"                                   \
                        -v "$PWD":"$PWD" -w "$PWD"                            \
                        -v "$PWD"/result:/var/tmp/result                      \
                        build bash -c "if [ ! -e /var/tmp/result/flag ]; then \
                         echo \"/var/tmp/result/flag does not exist\"         \
                         exit 1                                               \
                     fi"

If so, any viable work-around?

ChristopherHX commented 1 month ago

this become an issue particularly when you try to bind paths inside the runner into the docker container you start in the runner?

Yes exactly like that is always broken.

Workaround A:

Workaround B:

I have been busy this week for learning in my university, I'm actually maintaining two tools to run GitHub Actions Locally one using the official actions/runner based on .net (that also supports Azure Pipelines) and this one

This issue mentioned here happens on the official runner as well, if they run both a job container via docker/podman, while running both tools directly on a VM both act and the official runner has no problem at all

ChristopherHX commented 2 weeks ago

In https://github.com/nektos/act/issues/2393 is now a --dind flag to get a priviledged dind container per job.

The following docker run -v $PWD:$PWD --rm alpine:latest ls $PWD works in that scenario

With --reuse as well you can speed up a debug cycle by not purging the dind container and let it run between restarts of act.

ChristopherHX commented 2 weeks ago

I'm mounting the same folder of the job container has as mounts, so both have the same container paths for these mounts.

So /opt/hostedtoolcache, github.workspace and the directory of the extracted actions can be bind mounted as if you would use a VM.