actions / checkout

Action for checking out a repo
https://github.com/features/actions
MIT License
5.49k stars 1.62k forks source link

Error: /etc/*release "no such file or directory" #334

Open drewmullen opened 3 years ago

drewmullen commented 3 years ago

Error

Run actions/checkout@v2
/usr/bin/docker exec  432276a4e63948fd1ce317e06c553d8b59da3899e0254e9381f32d34cf40b653 sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "no such file or directory": unknown

Description

checkout is not able to find the /etc/*release file for some reason. A previous issue asserted it had to do with being alpine but i have tested the alpine/git container that worked in the exact same context:

$ docker run -it --rm drewmullen/lambda-build-python:0.1 -c 'cat /etc/*release | grep ^ID'
ID=alpine

$ docker run -it --rm drewmullen/lambda-build-python:0.1 -c '/bin/ls -l /etc/os-release'
-rw-r--r-- 1 root root 10 Jan  1  1970 /etc/os-release

one thing to note is that this container was built by a nix expression so its quite bare. perhaps there are some other requirements that yall could point to that i could be missing?

Example failure: https://github.com/drewmullen/actions-playground/runs/998812222?check_suite_focus=true Example workflow:

name: test checkout on diff versions
on:
  issue_comment:
    types: [created]
jobs:
  build:
    if: >
      startsWith(github.event.comment.body, 'build')
      && startsWith(github.event.issue.pull_request.url, 'https://')
    runs-on: ubuntu-latest
    container:
      image: drewmullen/lambda-build-python:0.1
    steps:
      - name: 'Code Checkout'
        uses: actions/checkout@v2
shusson commented 3 years ago

We're getting the same issue but on a self-hosted runner which was set up following https://github.com/summerwind/actions-runner-controller. The image contains a subset of packages from the GitHub runners, https://github.com/summerwind/actions-runner-controller#softeware-installed-in-the-runner-image.

berndvdveen commented 3 years ago

@drewmullen This should be resolved in the latest version of actions/checkout. Try: uses: actions/checkout@v2.3.2

drewmullen commented 3 years ago

@berndvdveen unfortunately not :(

Run actions/checkout@v2.3.2
/usr/bin/docker exec  ad88ff3bf80befa617e90d59c75d187a7e273e4bf3f7d8df277befbe9a43bdac sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "no such file or directory": unknown

workflow: https://github.com/drewmullen/actions-playground/blob/master/.github/workflows/step_container.yml action job: https://github.com/drewmullen/actions-playground/runs/1002786826?check_suite_focus=true

XavierChapron commented 3 years ago

I'm having the same issue with:

jobs:
  build:
    name: validation
    runs-on: self-hosted
    container:
      image: zephyrprojectrtos/ci:v0.11.7
      options: --device=/dev/bus/usb
    steps:
      - name: Clone repository
        uses: actions/checkout@v2.3.2
        with:
          submodules: true
          token: ${{ secrets.READ_REPOSITORIES_PAT }}
      - name: Build validation test app
        uses: ./.github/actions/app-build-action
      - name: Run test
        shell: bash
        run: |
          pwd
          ls
          cd build/app-build
          ctest -V

Then Post Clone repository step fails:

Post Clone repository
1s
##[debug]Finishing: Post Clone repository
##[debug]Evaluating: always()
##[debug]Evaluating always:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Post Clone repository
##[debug]Loading inputs
##[debug]Evaluating: secrets.READ_REPOSITORIES_PAT
##[debug]Evaluating Index:
##[debug]..Evaluating secrets:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'READ_REPOSITORIES_PAT'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Evaluating: github.repository
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'repository'
##[debug]=> 'XXXX/xxxx'
##[debug]Result: 'XXXX/xxxx'
##[debug]Loading env
Post job cleanup.
/usr/bin/docker exec  d524eda2952a2ed656e3046c0efa1cf9fed70bdfeef4c16d054bcf5fc6213536 sh -c "cat /etc/*release | grep ^ID"
##[debug]Running JavaScript Action with default external tool: node12
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "setup user: no such file or directory": unknown

Note that for an unknown reason, if I remove ctest -V from the last step, this issue does not occurs.

XavierChapron commented 3 years ago

I was able to reproduce locally using only docker (without anything related to github action). At some point, docker exec container_id sh -c "cat /etc/*release | grep ^ID" start to fail and never work anymore. As of now, I still don't know what triggers this failure.

However I'm curious of why the post script of the checkout action needs to know the ID of the docker image?

zupo commented 3 years ago

I'm bumping into the same problem. Using https://github.com/niteoweb/nix-docker-base as the docker image. Works fine locally, on CircleCI and on Heroku, does not work on GitHub Actions.

bcardiff commented 3 years ago

I wanted to use i386/ubuntu:bionic as the container and I reach the same issue.

Yet /usr/bin/docker exec 43...53 sh -c "cat /etc/*release | grep ^ID" works locally with that image.

Using v2.3.2 makes no difference.

danog commented 3 years ago

Same here with 2.3.3.

infinisil commented 3 years ago

I did a bit of investigating, and I'm now fairly certain that the cat /etc/*-release command has nothing to do with this failure. I confirmed this by changing sh to run strace -e trace=file sh, and there was no additional output. So the failure probably happens before the container is even started.

A thing I tried that didn't work is something like

ln -s run/profile/bin bin
mkdir -p home lib mnt opt sbin var/{cache,empty,lib,tmp,opt,log,local}
ln -s /run var/run
ln -s /bin sbin

This creates a bunch of common directories. No luck though, still the same failure

I also tried running the container with runc locally as shown in https://github.com/opencontainers/runc#using-runc, but that worked just fine and I couldn't reproduce the failure

In addition, I suspect this has nothing to do with the checkout action even. It's likely a problem with GitHub Actions themselves. Which makes it pretty hard to debug since it's closed source..

hectorm commented 3 years ago

Yesterday I stumbled across this error using a BusyBox container and found this issue, today I took some time to debug it.

The reason for this is that GitHub Actions are written in JavaScript, so in order for an action to run inside a container, Node.js must be present, so the runner copies a Node.js build into the container.

The problem is that this build may not be compatible with the container. In my case, BusyBox doesn't have the required shared libraries.

My armchair suggestion is that the Node.js build should be completely static to avoid these situations, but perhaps this has other disadvantages which make it impractical.

I've done a quick experiment that allows the action to run inside BusyBox, but I warn that no one under any circumstances should use it as a workaround.

name: 'actions/checkout#334 test'

on:
  push:
    branches: ['*']

jobs:

  test-with-lib-mount:
    runs-on: 'ubuntu-latest'
    container:
      image: 'docker.io/busybox:glibc'
      volumes:
        - '/lib/x86_64-linux-gnu/libdl.so.2:/lib/libdl.so.2'
        - '/lib/x86_64-linux-gnu/libgcc_s.so.1:/lib/libgcc_s.so.1'
        - '/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/lib/libstdc++.so.6'
    steps:
      - run: 'printf "ID=debian\n" > /etc/os-release'
      - uses: 'actions/checkout@main'
      - run: '/__e/node12/bin/node --version'

  test-without-lib-mount:
    runs-on: 'ubuntu-latest'
    container:
      image: 'docker.io/busybox:glibc'
    steps:
      - run: 'printf "ID=debian\n" > /etc/os-release'
      - uses: 'actions/checkout@main'
      - run: '/__e/node12/bin/node --version'
test-with-lib-mount log

``` 2020-10-21T19:36:23.6141878Z ##[section]Starting: Request a runner to run this job 2020-10-21T19:36:23.8098964Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:23.8099078Z Can't find any online and idle self-hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:23.8099523Z Found online and idle hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:24.0332034Z ##[section]Finishing: Request a runner to run this job 2020-10-21T19:36:31.6422221Z ##[debug]Starting: test-with-lib-mount 2020-10-21T19:36:31.6432381Z ##[debug]Cleaning runner temp folder: /home/runner/work/_temp 2020-10-21T19:36:31.6458388Z ##[debug]Starting: Set up job 2020-10-21T19:36:31.6458835Z Current runner version: '2.273.5' 2020-10-21T19:36:31.6488220Z ##[group]Operating System 2020-10-21T19:36:31.6489047Z Ubuntu 2020-10-21T19:36:31.6489364Z 18.04.5 2020-10-21T19:36:31.6489704Z LTS 2020-10-21T19:36:31.6490018Z ##[endgroup] 2020-10-21T19:36:31.6490410Z ##[group]Virtual Environment 2020-10-21T19:36:31.6490867Z Environment: ubuntu-18.04 2020-10-21T19:36:31.6491210Z Version: 20201015.1 2020-10-21T19:36:31.6491999Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20201015.1/images/linux/Ubuntu1804-README.md 2020-10-21T19:36:31.6492786Z ##[endgroup] 2020-10-21T19:36:31.6493736Z ##[debug]Primary repository: hectorm/test 2020-10-21T19:36:31.6494367Z Prepare workflow directory 2020-10-21T19:36:31.6546346Z ##[debug]Creating pipeline directory: '/home/runner/work/test' 2020-10-21T19:36:31.6548766Z ##[debug]Creating workspace directory: '/home/runner/work/test/test' 2020-10-21T19:36:31.6550151Z ##[debug]Update context data 2020-10-21T19:36:31.6551822Z ##[debug]Evaluating job-level environment variables 2020-10-21T19:36:31.6655374Z ##[debug]Evaluating job container 2020-10-21T19:36:31.6669622Z ##[debug]Evaluating job service containers 2020-10-21T19:36:31.6670501Z ##[debug]Evaluating job defaults 2020-10-21T19:36:31.6680808Z Prepare all required actions 2020-10-21T19:36:31.6689776Z Getting action download info 2020-10-21T19:36:31.9421868Z Download action repository 'actions/checkout@main' 2020-10-21T19:36:32.0954551Z ##[debug]Download 'https://api.github.com/repos/actions/checkout/tarball/c952173edf28a2bd22e1a4926590c1ac39630461' to '/home/runner/work/_actions/_temp_a3ca3d70-5a4d-4d9f-91a3-e21490eea0bd/d3feda17-104e-4724-a463-1d8758e04d45.tar.gz' 2020-10-21T19:36:33.0874463Z ##[debug]Unwrap 'actions-checkout-c952173' to '/home/runner/work/_actions/actions/checkout/main' 2020-10-21T19:36:33.0991990Z ##[debug]Archive '/home/runner/work/_actions/_temp_a3ca3d70-5a4d-4d9f-91a3-e21490eea0bd/d3feda17-104e-4724-a463-1d8758e04d45.tar.gz' has been unzipped into '/home/runner/work/_actions/actions/checkout/main'. 2020-10-21T19:36:34.0629123Z ##[debug]action.yml for action: '/home/runner/work/_actions/actions/checkout/main/action.yml'. 2020-10-21T19:36:34.1173300Z ##[debug]Set step 'run1' display name to: 'Run printf "ID=debian\n" > /etc/os-release' 2020-10-21T19:36:34.1175755Z ##[debug]Set step 'actionscheckout' display name to: 'Run actions/checkout@main' 2020-10-21T19:36:34.1177035Z ##[debug]Set step 'run2' display name to: 'Run /__e/node12/bin/node --version' 2020-10-21T19:36:34.1187179Z ##[debug]Collect running processes for tracking orphan processes. 2020-10-21T19:36:34.1342694Z ##[debug]Finishing: Set up job 2020-10-21T19:36:34.1363417Z ##[debug]Evaluating condition for step: 'Initialize containers' 2020-10-21T19:36:34.1382884Z ##[debug]Evaluating: success() 2020-10-21T19:36:34.1384078Z ##[debug]Evaluating success: 2020-10-21T19:36:34.1394621Z ##[debug]=> true 2020-10-21T19:36:34.1396480Z ##[debug]Result: true 2020-10-21T19:36:34.1402492Z ##[debug]Starting: Initialize containers 2020-10-21T19:36:34.1414050Z ##[debug]Register post job cleanup for stopping/deleting containers. 2020-10-21T19:36:34.1420137Z ##[group]Checking docker version 2020-10-21T19:36:34.1425582Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' 2020-10-21T19:36:34.9673127Z '1.40' 2020-10-21T19:36:34.9701536Z Docker daemon API version: '1.40' 2020-10-21T19:36:34.9702246Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' 2020-10-21T19:36:35.0285590Z '1.40' 2020-10-21T19:36:35.0287669Z Docker client API version: '1.40' 2020-10-21T19:36:35.0294051Z ##[endgroup] 2020-10-21T19:36:35.0294994Z ##[group]Clean up resources from previous jobs 2020-10-21T19:36:35.0298815Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=1e5c35" 2020-10-21T19:36:35.0750094Z ##[command]/usr/bin/docker network prune --force --filter "label=1e5c35" 2020-10-21T19:36:35.1254857Z ##[endgroup] 2020-10-21T19:36:35.1255300Z ##[group]Create local container network 2020-10-21T19:36:35.1261833Z ##[command]/usr/bin/docker network create --label 1e5c35 github_network_d79a281bde1b4414bc5e5514c18ae971 2020-10-21T19:36:35.2318923Z 0552da6ce761fcb647e975fd84d355319aed5d2fa24ab039af686fcf8e907a64 2020-10-21T19:36:35.2327453Z ##[endgroup] 2020-10-21T19:36:35.2334786Z ##[group]Starting job container 2020-10-21T19:36:35.2342174Z ##[command]/usr/bin/docker pull docker.io/busybox:glibc 2020-10-21T19:36:36.0274592Z glibc: Pulling from library/busybox 2020-10-21T19:36:36.0287071Z a398042fcaa4: Pulling fs layer 2020-10-21T19:36:36.0287659Z a398042fcaa4: Verifying Checksum 2020-10-21T19:36:36.0288177Z a398042fcaa4: Download complete 2020-10-21T19:36:36.0289088Z a398042fcaa4: Pull complete 2020-10-21T19:36:36.0290127Z Digest: sha256:30d1412c0f45be67d38b99179866868b1f09fd9013cbacf22813926aee428cf7 2020-10-21T19:36:36.0291102Z Status: Downloaded newer image for busybox:glibc 2020-10-21T19:36:36.0291761Z docker.io/library/busybox:glibc 2020-10-21T19:36:36.0322722Z ##[command]/usr/bin/docker create --name feb618523f554ca28cbdfc8f66c84692_dockeriobusyboxglibc_b28c2a --label 1e5c35 --workdir /__w/test/test --network github_network_d79a281bde1b4414bc5e5514c18ae971 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/lib/x86_64-linux-gnu/libdl.so.2":"/lib/libdl.so.2" -v "/lib/x86_64-linux-gnu/libgcc_s.so.1":"/lib/libgcc_s.so.1" -v "/usr/lib/x86_64-linux-gnu/libstdc++.so.6":"/lib/libstdc++.so.6" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.273.5/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" docker.io/busybox:glibc "-f" "/dev/null" 2020-10-21T19:36:36.8751027Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:36.8771701Z ##[command]/usr/bin/docker start 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:37.3510418Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:37.3552984Z ##[command]/usr/bin/docker ps --all --filter id=99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" 2020-10-21T19:36:37.3972717Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 Up Less than a second 2020-10-21T19:36:37.3997510Z ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:37.4415580Z HOME=/github/home 2020-10-21T19:36:37.4416845Z GITHUB_ACTIONS=true 2020-10-21T19:36:37.4417585Z CI=true 2020-10-21T19:36:37.4417971Z PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2020-10-21T19:36:37.4444943Z ##[endgroup] 2020-10-21T19:36:37.4445617Z ##[group]Waiting for all services to be ready 2020-10-21T19:36:37.4446922Z ##[endgroup] 2020-10-21T19:36:37.4454176Z ##[debug]Finishing: Initialize containers 2020-10-21T19:36:37.4465654Z ##[debug]Evaluating condition for step: 'Run printf "ID=debian\n" > /etc/os-release' 2020-10-21T19:36:37.4470550Z ##[debug]Evaluating: success() 2020-10-21T19:36:37.4471192Z ##[debug]Evaluating success: 2020-10-21T19:36:37.4472155Z ##[debug]=> true 2020-10-21T19:36:37.4472748Z ##[debug]Result: true 2020-10-21T19:36:37.4474878Z ##[debug]Starting: Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:37.4520505Z ##[debug]Loading inputs 2020-10-21T19:36:37.4522457Z ##[debug]Loading env 2020-10-21T19:36:37.4562390Z ##[group]Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:37.4562901Z printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:37.4565123Z shell: sh -e {0} 2020-10-21T19:36:37.4565505Z ##[endgroup] 2020-10-21T19:36:37.4620603Z ##[debug]sh -e /__w/_temp/4a279f67-140c-4d89-98e4-5f5def436d2a.sh 2020-10-21T19:36:37.6099441Z ##[debug]Finishing: Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:37.6105048Z ##[debug]Evaluating condition for step: 'Run actions/checkout@main' 2020-10-21T19:36:37.6108058Z ##[debug]Evaluating: success() 2020-10-21T19:36:37.6108626Z ##[debug]Evaluating success: 2020-10-21T19:36:37.6109356Z ##[debug]=> true 2020-10-21T19:36:37.6109907Z ##[debug]Result: true 2020-10-21T19:36:37.6111037Z ##[debug]Starting: Run actions/checkout@main 2020-10-21T19:36:37.6140004Z ##[debug]Register post job cleanup for action: actions/checkout@main 2020-10-21T19:36:37.6168757Z ##[debug]Loading inputs 2020-10-21T19:36:37.6171347Z ##[debug]Evaluating: github.repository 2020-10-21T19:36:37.6172253Z ##[debug]Evaluating Index: 2020-10-21T19:36:37.6173309Z ##[debug]..Evaluating github: 2020-10-21T19:36:37.6173937Z ##[debug]..=> Object 2020-10-21T19:36:37.6175324Z ##[debug]..Evaluating String: 2020-10-21T19:36:37.6175804Z ##[debug]..=> 'repository' 2020-10-21T19:36:37.6181717Z ##[debug]=> 'hectorm/test' 2020-10-21T19:36:37.6182720Z ##[debug]Result: 'hectorm/test' 2020-10-21T19:36:37.6189533Z ##[debug]Evaluating: github.token 2020-10-21T19:36:37.6189963Z ##[debug]Evaluating Index: 2020-10-21T19:36:37.6191185Z ##[debug]..Evaluating github: 2020-10-21T19:36:37.6191778Z ##[debug]..=> Object 2020-10-21T19:36:37.6192170Z ##[debug]..Evaluating String: 2020-10-21T19:36:37.6192490Z ##[debug]..=> 'token' 2020-10-21T19:36:37.6194565Z ##[debug]=> '***' 2020-10-21T19:36:37.6195165Z ##[debug]Result: '***' 2020-10-21T19:36:37.6201938Z ##[debug]Loading env 2020-10-21T19:36:37.6212117Z ##[group]Run actions/checkout@main 2020-10-21T19:36:37.6212463Z with: 2020-10-21T19:36:37.6212878Z repository: hectorm/test 2020-10-21T19:36:37.6213493Z token: *** 2020-10-21T19:36:37.6213773Z ssh-strict: true 2020-10-21T19:36:37.6214152Z persist-credentials: true 2020-10-21T19:36:37.6214505Z clean: true 2020-10-21T19:36:37.6214795Z fetch-depth: 1 2020-10-21T19:36:37.6215067Z lfs: false 2020-10-21T19:36:37.6215344Z submodules: false 2020-10-21T19:36:37.6215619Z ##[endgroup] 2020-10-21T19:36:37.6230234Z ##[command]/usr/bin/docker exec 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 sh -c "cat /etc/*release | grep ^ID" 2020-10-21T19:36:37.7701720Z ##[debug]ID=debian 2020-10-21T19:36:37.7702501Z ##[debug]Running JavaScript Action with default external tool: node12 2020-10-21T19:36:38.2439640Z ::save-state name=isPost,::true 2020-10-21T19:36:38.2441143Z ##[debug]Save intra-action state isPost = true 2020-10-21T19:36:38.2876241Z ##[debug]GITHUB_WORKSPACE = '/__w/test/test' 2020-10-21T19:36:38.2887025Z ##[debug]qualified repository = 'hectorm/test' 2020-10-21T19:36:38.2889262Z ##[debug]ref = 'refs/heads/master' 2020-10-21T19:36:38.2890062Z ##[debug]commit = '20971021580f5e7ffb8aad0fad66630ba95af42e' 2020-10-21T19:36:38.2890556Z ##[debug]clean = true 2020-10-21T19:36:38.2890869Z ##[debug]fetch depth = 1 2020-10-21T19:36:38.2891193Z ##[debug]lfs = false 2020-10-21T19:36:38.2892671Z ##[debug]submodules = false 2020-10-21T19:36:38.2893161Z ##[debug]recursive submodules = false 2020-10-21T19:36:38.2895047Z ::add-matcher::/__w/_actions/actions/checkout/main/dist/problem-matcher.json 2020-10-21T19:36:38.2997441Z ##[debug]Added matchers: 'checkout-git'. Problem matchers scan action output for known warning or error strings and report these inline. 2020-10-21T19:36:38.2998479Z Syncing repository: hectorm/test 2020-10-21T19:36:38.2999789Z ::group::Getting Git version info 2020-10-21T19:36:38.3000320Z ##[group]Getting Git version info 2020-10-21T19:36:38.3001133Z Working directory is '/__w/test/test' 2020-10-21T19:36:38.3041769Z ::endgroup:: 2020-10-21T19:36:38.3042207Z ##[endgroup] 2020-10-21T19:36:38.3048632Z Deleting the contents of '/__w/test/test' 2020-10-21T19:36:38.3049554Z The repository will be downloaded using the GitHub REST API 2020-10-21T19:36:38.3050129Z To create a local Git repository instead, add Git 2.18 or higher to the PATH 2020-10-21T19:36:38.3053681Z Downloading the archive 2020-10-21T19:36:38.6242736Z Writing archive to disk 2020-10-21T19:36:38.6273486Z Extracting the archive 2020-10-21T19:36:38.6320630Z [command]/bin/tar xz -C /__w/test/test/5b9760db-5a71-4d57-bd45-1fe849c46ae6 -f /__w/test/test/5b9760db-5a71-4d57-bd45-1fe849c46ae6.tar.gz 2020-10-21T19:36:38.6432063Z Resolved version hectorm-test-20971021580f5e7ffb8aad0fad66630ba95af42e 2020-10-21T19:36:38.6435214Z ::remove-matcher owner=checkout-git,:: 2020-10-21T19:36:38.6437922Z ##[debug]Removed matchers: 'checkout-git' 2020-10-21T19:36:38.6773617Z ##[debug]Node Action run completed with exit code 0 2020-10-21T19:36:38.6777605Z ##[debug]Finishing: Run actions/checkout@main 2020-10-21T19:36:38.6783869Z ##[debug]Evaluating condition for step: 'Run /__e/node12/bin/node --version' 2020-10-21T19:36:38.6787695Z ##[debug]Evaluating: success() 2020-10-21T19:36:38.6788252Z ##[debug]Evaluating success: 2020-10-21T19:36:38.6789112Z ##[debug]=> true 2020-10-21T19:36:38.6789680Z ##[debug]Result: true 2020-10-21T19:36:38.6790960Z ##[debug]Starting: Run /__e/node12/bin/node --version 2020-10-21T19:36:38.6802656Z ##[debug]Loading inputs 2020-10-21T19:36:38.6804153Z ##[debug]Loading env 2020-10-21T19:36:38.6811564Z ##[group]Run /__e/node12/bin/node --version 2020-10-21T19:36:38.6812034Z /__e/node12/bin/node --version 2020-10-21T19:36:38.6812544Z shell: sh -e {0} 2020-10-21T19:36:38.6812931Z ##[endgroup] 2020-10-21T19:36:38.6859252Z ##[debug]sh -e /__w/_temp/532f94a9-190a-4b0d-8f17-4a350e71ae60.sh 2020-10-21T19:36:38.8043924Z v12.13.1 2020-10-21T19:36:38.8361816Z ##[debug]Finishing: Run /__e/node12/bin/node --version 2020-10-21T19:36:38.8366828Z ##[debug]Evaluating condition for step: 'Post Run actions/checkout@main' 2020-10-21T19:36:38.8369126Z ##[debug]Evaluating: always() 2020-10-21T19:36:38.8369555Z ##[debug]Evaluating always: 2020-10-21T19:36:38.8369938Z ##[debug]=> true 2020-10-21T19:36:38.8370430Z ##[debug]Result: true 2020-10-21T19:36:38.8371161Z ##[debug]Starting: Post Run actions/checkout@main 2020-10-21T19:36:38.8407001Z ##[debug]Loading inputs 2020-10-21T19:36:38.8408268Z ##[debug]Evaluating: github.repository 2020-10-21T19:36:38.8408764Z ##[debug]Evaluating Index: 2020-10-21T19:36:38.8409156Z ##[debug]..Evaluating github: 2020-10-21T19:36:38.8409519Z ##[debug]..=> Object 2020-10-21T19:36:38.8409944Z ##[debug]..Evaluating String: 2020-10-21T19:36:38.8410341Z ##[debug]..=> 'repository' 2020-10-21T19:36:38.8410899Z ##[debug]=> 'hectorm/test' 2020-10-21T19:36:38.8411290Z ##[debug]Result: 'hectorm/test' 2020-10-21T19:36:38.8413262Z ##[debug]Evaluating: github.token 2020-10-21T19:36:38.8413683Z ##[debug]Evaluating Index: 2020-10-21T19:36:38.8414054Z ##[debug]..Evaluating github: 2020-10-21T19:36:38.8414397Z ##[debug]..=> Object 2020-10-21T19:36:38.8414736Z ##[debug]..Evaluating String: 2020-10-21T19:36:38.8415063Z ##[debug]..=> 'token' 2020-10-21T19:36:38.8416314Z ##[debug]=> '***' 2020-10-21T19:36:38.8416832Z ##[debug]Result: '***' 2020-10-21T19:36:38.8422690Z ##[debug]Loading env 2020-10-21T19:36:38.8429518Z Post job cleanup. 2020-10-21T19:36:38.8437174Z ##[command]/usr/bin/docker exec 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 sh -c "cat /etc/*release | grep ^ID" 2020-10-21T19:36:38.9959413Z ##[debug]ID=debian 2020-10-21T19:36:38.9960312Z ##[debug]Running JavaScript Action with default external tool: node12 2020-10-21T19:36:39.2503997Z ##[debug]Node Action run completed with exit code 0 2020-10-21T19:36:39.2506768Z ##[debug]Finishing: Post Run actions/checkout@main 2020-10-21T19:36:39.2512429Z ##[debug]Evaluating condition for step: 'Stop containers' 2020-10-21T19:36:39.2518101Z ##[debug]Evaluating: always() 2020-10-21T19:36:39.2518830Z ##[debug]Evaluating always: 2020-10-21T19:36:39.2519400Z ##[debug]=> true 2020-10-21T19:36:39.2519980Z ##[debug]Result: true 2020-10-21T19:36:39.2521220Z ##[debug]Starting: Stop containers 2020-10-21T19:36:39.2534580Z Stop and remove container: feb618523f554ca28cbdfc8f66c84692_dockeriobusyboxglibc_b28c2a 2020-10-21T19:36:39.2539305Z ##[command]/usr/bin/docker rm --force 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:39.4719340Z 99baa570ec43ff883eeffe4be0b688134cbf5f7d77b61708b02ed153c72f1087 2020-10-21T19:36:39.4773573Z Remove container network: github_network_d79a281bde1b4414bc5e5514c18ae971 2020-10-21T19:36:39.4776883Z ##[command]/usr/bin/docker network rm github_network_d79a281bde1b4414bc5e5514c18ae971 2020-10-21T19:36:39.5907395Z github_network_d79a281bde1b4414bc5e5514c18ae971 2020-10-21T19:36:39.5939988Z ##[debug]Finishing: Stop containers 2020-10-21T19:36:39.5948559Z ##[debug]Starting: Complete job 2020-10-21T19:36:39.5949646Z Uploading runner diagnostic logs 2020-10-21T19:36:39.5955670Z ##[debug]Starting diagnostic file upload. 2020-10-21T19:36:39.5956142Z ##[debug]Setting up diagnostic log folders. 2020-10-21T19:36:39.5958875Z ##[debug]Creating diagnostic log files folder. 2020-10-21T19:36:39.5966210Z ##[debug]Copying 2 worker diagnostic logs. 2020-10-21T19:36:39.5972722Z ##[debug]Copying 1 runner diagnostic logs. 2020-10-21T19:36:39.5973942Z ##[debug]Zipping diagnostic files. 2020-10-21T19:36:39.6026117Z ##[debug]Uploading diagnostic metadata file. 2020-10-21T19:36:39.6073918Z ##[debug]Diagnostic file upload complete. 2020-10-21T19:36:39.6075042Z Completed runner diagnostic log upload 2020-10-21T19:36:39.6075626Z Cleaning up orphan processes 2020-10-21T19:36:39.6377653Z ##[debug]Finishing: Complete job 2020-10-21T19:36:39.6384364Z ##[debug]Finishing: test-with-lib-mount ```

test-without-lib-mount log

``` 2020-10-21T19:36:23.6146496Z ##[section]Starting: Request a runner to run this job 2020-10-21T19:36:23.8265931Z Can't find any online and idle self-hosted runner in current repository that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:23.8266045Z Can't find any online and idle self-hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:23.8266256Z Found online and idle hosted runner in current repository's account/organization that matches the required labels: 'ubuntu-latest' 2020-10-21T19:36:24.0337116Z ##[section]Finishing: Request a runner to run this job 2020-10-21T19:36:31.7680754Z ##[debug]Starting: test-without-lib-mount 2020-10-21T19:36:31.7691712Z ##[debug]Cleaning runner temp folder: /home/runner/work/_temp 2020-10-21T19:36:31.7723158Z ##[debug]Starting: Set up job 2020-10-21T19:36:31.7723555Z Current runner version: '2.273.5' 2020-10-21T19:36:31.7753218Z ##[group]Operating System 2020-10-21T19:36:31.7753802Z Ubuntu 2020-10-21T19:36:31.7754074Z 18.04.5 2020-10-21T19:36:31.7754289Z LTS 2020-10-21T19:36:31.7754578Z ##[endgroup] 2020-10-21T19:36:31.7754924Z ##[group]Virtual Environment 2020-10-21T19:36:31.7755335Z Environment: ubuntu-18.04 2020-10-21T19:36:31.7755704Z Version: 20201015.1 2020-10-21T19:36:31.7756439Z Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20201015.1/images/linux/Ubuntu1804-README.md 2020-10-21T19:36:31.7757123Z ##[endgroup] 2020-10-21T19:36:31.7757983Z ##[debug]Primary repository: hectorm/test 2020-10-21T19:36:31.7758544Z Prepare workflow directory 2020-10-21T19:36:31.7807802Z ##[debug]Creating pipeline directory: '/home/runner/work/test' 2020-10-21T19:36:31.7810369Z ##[debug]Creating workspace directory: '/home/runner/work/test/test' 2020-10-21T19:36:31.7811685Z ##[debug]Update context data 2020-10-21T19:36:31.7813618Z ##[debug]Evaluating job-level environment variables 2020-10-21T19:36:31.7905477Z ##[debug]Evaluating job container 2020-10-21T19:36:31.7916717Z ##[debug]Evaluating job service containers 2020-10-21T19:36:31.7917545Z ##[debug]Evaluating job defaults 2020-10-21T19:36:31.7926783Z Prepare all required actions 2020-10-21T19:36:31.7934301Z Getting action download info 2020-10-21T19:36:32.0377686Z Download action repository 'actions/checkout@main' 2020-10-21T19:36:32.5396637Z ##[debug]Download 'https://api.github.com/repos/actions/checkout/tarball/c952173edf28a2bd22e1a4926590c1ac39630461' to '/home/runner/work/_actions/_temp_a9d6c8b2-f766-4f0a-b69d-1bd3debd7829/c8f8da8d-7b0f-4384-af9f-61c8782160ee.tar.gz' 2020-10-21T19:36:32.6454138Z ##[debug]Unwrap 'actions-checkout-c952173' to '/home/runner/work/_actions/actions/checkout/main' 2020-10-21T19:36:32.6578047Z ##[debug]Archive '/home/runner/work/_actions/_temp_a9d6c8b2-f766-4f0a-b69d-1bd3debd7829/c8f8da8d-7b0f-4384-af9f-61c8782160ee.tar.gz' has been unzipped into '/home/runner/work/_actions/actions/checkout/main'. 2020-10-21T19:36:33.1881380Z ##[debug]action.yml for action: '/home/runner/work/_actions/actions/checkout/main/action.yml'. 2020-10-21T19:36:33.2441761Z ##[debug]Set step 'run1' display name to: 'Run printf "ID=debian\n" > /etc/os-release' 2020-10-21T19:36:33.2444498Z ##[debug]Set step 'actionscheckout' display name to: 'Run actions/checkout@main' 2020-10-21T19:36:33.2445801Z ##[debug]Set step 'run2' display name to: 'Run /__e/node12/bin/node --version' 2020-10-21T19:36:33.2456510Z ##[debug]Collect running processes for tracking orphan processes. 2020-10-21T19:36:33.2613211Z ##[debug]Finishing: Set up job 2020-10-21T19:36:33.2630598Z ##[debug]Evaluating condition for step: 'Initialize containers' 2020-10-21T19:36:33.2647640Z ##[debug]Evaluating: success() 2020-10-21T19:36:33.2648736Z ##[debug]Evaluating success: 2020-10-21T19:36:33.2657167Z ##[debug]=> true 2020-10-21T19:36:33.2658999Z ##[debug]Result: true 2020-10-21T19:36:33.2665013Z ##[debug]Starting: Initialize containers 2020-10-21T19:36:33.2677345Z ##[debug]Register post job cleanup for stopping/deleting containers. 2020-10-21T19:36:33.2684118Z ##[group]Checking docker version 2020-10-21T19:36:33.2689587Z ##[command]/usr/bin/docker version --format '{{.Server.APIVersion}}' 2020-10-21T19:36:34.0616134Z '1.40' 2020-10-21T19:36:34.0643966Z Docker daemon API version: '1.40' 2020-10-21T19:36:34.0644684Z ##[command]/usr/bin/docker version --format '{{.Client.APIVersion}}' 2020-10-21T19:36:34.1155134Z '1.40' 2020-10-21T19:36:34.1156750Z Docker client API version: '1.40' 2020-10-21T19:36:34.1163708Z ##[endgroup] 2020-10-21T19:36:34.1164347Z ##[group]Clean up resources from previous jobs 2020-10-21T19:36:34.1168075Z ##[command]/usr/bin/docker ps --all --quiet --no-trunc --filter "label=1e5c35" 2020-10-21T19:36:34.1597907Z ##[command]/usr/bin/docker network prune --force --filter "label=1e5c35" 2020-10-21T19:36:34.2012426Z ##[endgroup] 2020-10-21T19:36:34.2012833Z ##[group]Create local container network 2020-10-21T19:36:34.2018449Z ##[command]/usr/bin/docker network create --label 1e5c35 github_network_be3d1c4e36e9432f8083c228b5196e76 2020-10-21T19:36:34.2908717Z ebdde7af26de099e9f32695a2906f79734226b8f538e4ffb58cc484b8e85f5fc 2020-10-21T19:36:34.2937163Z ##[endgroup] 2020-10-21T19:36:34.2944074Z ##[group]Starting job container 2020-10-21T19:36:34.2949697Z ##[command]/usr/bin/docker pull docker.io/busybox:glibc 2020-10-21T19:36:34.5750676Z glibc: Pulling from library/busybox 2020-10-21T19:36:34.6351728Z a398042fcaa4: Pulling fs layer 2020-10-21T19:36:34.7637158Z a398042fcaa4: Verifying Checksum 2020-10-21T19:36:34.7639744Z a398042fcaa4: Download complete 2020-10-21T19:36:34.8839721Z a398042fcaa4: Pull complete 2020-10-21T19:36:34.8841376Z Digest: sha256:30d1412c0f45be67d38b99179866868b1f09fd9013cbacf22813926aee428cf7 2020-10-21T19:36:34.8842168Z Status: Downloaded newer image for busybox:glibc 2020-10-21T19:36:34.8842576Z docker.io/library/busybox:glibc 2020-10-21T19:36:34.8871488Z ##[command]/usr/bin/docker create --name c2d455668a4c446ba2135b1d690354ec_dockeriobusyboxglibc_fd30aa --label 1e5c35 --workdir /__w/test/test --network github_network_be3d1c4e36e9432f8083c228b5196e76 -e "HOME=/github/home" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work":"/__w" -v "/home/runner/runners/2.273.5/externals":"/__e":ro -v "/home/runner/work/_temp":"/__w/_temp" -v "/home/runner/work/_actions":"/__w/_actions" -v "/opt/hostedtoolcache":"/__t" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" --entrypoint "tail" docker.io/busybox:glibc "-f" "/dev/null" 2020-10-21T19:36:35.1912695Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:35.1926511Z ##[command]/usr/bin/docker start f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:35.6368900Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:35.6378790Z ##[command]/usr/bin/docker ps --all --filter id=f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 --filter status=running --no-trunc --format "{{.ID}} {{.Status}}" 2020-10-21T19:36:35.6818777Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 Up Less than a second 2020-10-21T19:36:35.6824218Z ##[command]/usr/bin/docker inspect --format "{{range .Config.Env}}{{println .}}{{end}}" f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:35.7208590Z HOME=/github/home 2020-10-21T19:36:35.7209123Z GITHUB_ACTIONS=true 2020-10-21T19:36:35.7209533Z CI=true 2020-10-21T19:36:35.7210249Z PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 2020-10-21T19:36:35.7220437Z ##[endgroup] 2020-10-21T19:36:35.7221280Z ##[group]Waiting for all services to be ready 2020-10-21T19:36:35.7222573Z ##[endgroup] 2020-10-21T19:36:35.7230741Z ##[debug]Finishing: Initialize containers 2020-10-21T19:36:35.7243596Z ##[debug]Evaluating condition for step: 'Run printf "ID=debian\n" > /etc/os-release' 2020-10-21T19:36:35.7248399Z ##[debug]Evaluating: success() 2020-10-21T19:36:35.7249017Z ##[debug]Evaluating success: 2020-10-21T19:36:35.7249961Z ##[debug]=> true 2020-10-21T19:36:35.7250569Z ##[debug]Result: true 2020-10-21T19:36:35.7252047Z ##[debug]Starting: Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:35.7298233Z ##[debug]Loading inputs 2020-10-21T19:36:35.7300314Z ##[debug]Loading env 2020-10-21T19:36:35.7342311Z ##[group]Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:35.7342782Z printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:35.7344564Z shell: sh -e {0} 2020-10-21T19:36:35.7344899Z ##[endgroup] 2020-10-21T19:36:35.7412782Z ##[debug]sh -e /__w/_temp/8838678d-d229-4cfc-835b-a11245e44669.sh 2020-10-21T19:36:35.8867666Z ##[debug]Finishing: Run printf "ID=debian\n" > /etc/os-release 2020-10-21T19:36:35.8874104Z ##[debug]Evaluating condition for step: 'Run actions/checkout@main' 2020-10-21T19:36:35.8877369Z ##[debug]Evaluating: success() 2020-10-21T19:36:35.8877979Z ##[debug]Evaluating success: 2020-10-21T19:36:35.8878771Z ##[debug]=> true 2020-10-21T19:36:35.8879347Z ##[debug]Result: true 2020-10-21T19:36:35.8880915Z ##[debug]Starting: Run actions/checkout@main 2020-10-21T19:36:35.8912861Z ##[debug]Register post job cleanup for action: actions/checkout@main 2020-10-21T19:36:35.8950959Z ##[debug]Loading inputs 2020-10-21T19:36:35.8953700Z ##[debug]Evaluating: github.repository 2020-10-21T19:36:35.8954400Z ##[debug]Evaluating Index: 2020-10-21T19:36:35.8955284Z ##[debug]..Evaluating github: 2020-10-21T19:36:35.8956073Z ##[debug]..=> Object 2020-10-21T19:36:35.8957556Z ##[debug]..Evaluating String: 2020-10-21T19:36:35.8958043Z ##[debug]..=> 'repository' 2020-10-21T19:36:35.8961056Z ##[debug]=> 'hectorm/test' 2020-10-21T19:36:35.8961678Z ##[debug]Result: 'hectorm/test' 2020-10-21T19:36:35.8964614Z ##[debug]Evaluating: github.token 2020-10-21T19:36:35.8965054Z ##[debug]Evaluating Index: 2020-10-21T19:36:35.8965449Z ##[debug]..Evaluating github: 2020-10-21T19:36:35.8965822Z ##[debug]..=> Object 2020-10-21T19:36:35.8966218Z ##[debug]..Evaluating String: 2020-10-21T19:36:35.8966567Z ##[debug]..=> 'token' 2020-10-21T19:36:35.8968211Z ##[debug]=> '***' 2020-10-21T19:36:35.8968840Z ##[debug]Result: '***' 2020-10-21T19:36:35.8975682Z ##[debug]Loading env 2020-10-21T19:36:35.8986212Z ##[group]Run actions/checkout@main 2020-10-21T19:36:35.8986548Z with: 2020-10-21T19:36:35.8986857Z repository: hectorm/test 2020-10-21T19:36:35.8987565Z token: *** 2020-10-21T19:36:35.8987858Z ssh-strict: true 2020-10-21T19:36:35.8988244Z persist-credentials: true 2020-10-21T19:36:35.8988589Z clean: true 2020-10-21T19:36:35.8988872Z fetch-depth: 1 2020-10-21T19:36:35.8989150Z lfs: false 2020-10-21T19:36:35.8989437Z submodules: false 2020-10-21T19:36:35.8989735Z ##[endgroup] 2020-10-21T19:36:35.9006876Z ##[command]/usr/bin/docker exec f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 sh -c "cat /etc/*release | grep ^ID" 2020-10-21T19:36:36.0440727Z ##[debug]ID=debian 2020-10-21T19:36:36.0441472Z ##[debug]Running JavaScript Action with default external tool: node12 2020-10-21T19:36:36.1683431Z /__e/node12/bin/node: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory 2020-10-21T19:36:36.2015026Z ##[debug]Node Action run completed with exit code 127 2020-10-21T19:36:36.2017678Z ##[debug]Finishing: Run actions/checkout@main 2020-10-21T19:36:36.2022620Z ##[debug]Evaluating condition for step: 'Run /__e/node12/bin/node --version' 2020-10-21T19:36:36.2024370Z ##[debug]Evaluating: success() 2020-10-21T19:36:36.2024890Z ##[debug]Evaluating success: 2020-10-21T19:36:36.2025364Z ##[debug]=> false 2020-10-21T19:36:36.2025872Z ##[debug]Result: false 2020-10-21T19:36:36.2031314Z ##[debug]Evaluating condition for step: 'Post Run actions/checkout@main' 2020-10-21T19:36:36.2033333Z ##[debug]Evaluating: always() 2020-10-21T19:36:36.2033834Z ##[debug]Evaluating always: 2020-10-21T19:36:36.2034270Z ##[debug]=> true 2020-10-21T19:36:36.2034832Z ##[debug]Result: true 2020-10-21T19:36:36.2035546Z ##[debug]Starting: Post Run actions/checkout@main 2020-10-21T19:36:36.2067879Z ##[debug]Loading inputs 2020-10-21T19:36:36.2069021Z ##[debug]Evaluating: github.repository 2020-10-21T19:36:36.2069472Z ##[debug]Evaluating Index: 2020-10-21T19:36:36.2069856Z ##[debug]..Evaluating github: 2020-10-21T19:36:36.2070594Z ##[debug]..=> Object 2020-10-21T19:36:36.2070969Z ##[debug]..Evaluating String: 2020-10-21T19:36:36.2071517Z ##[debug]..=> 'repository' 2020-10-21T19:36:36.2071933Z ##[debug]=> 'hectorm/test' 2020-10-21T19:36:36.2072332Z ##[debug]Result: 'hectorm/test' 2020-10-21T19:36:36.2074782Z ##[debug]Evaluating: github.token 2020-10-21T19:36:36.2075254Z ##[debug]Evaluating Index: 2020-10-21T19:36:36.2075669Z ##[debug]..Evaluating github: 2020-10-21T19:36:36.2076182Z ##[debug]..=> Object 2020-10-21T19:36:36.2076563Z ##[debug]..Evaluating String: 2020-10-21T19:36:36.2076924Z ##[debug]..=> 'token' 2020-10-21T19:36:36.2077709Z ##[debug]=> '***' 2020-10-21T19:36:36.2078336Z ##[debug]Result: '***' 2020-10-21T19:36:36.2086169Z ##[debug]Loading env 2020-10-21T19:36:36.2092723Z Post job cleanup. 2020-10-21T19:36:36.2097080Z ##[command]/usr/bin/docker exec f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 sh -c "cat /etc/*release | grep ^ID" 2020-10-21T19:36:36.3517642Z ##[debug]ID=debian 2020-10-21T19:36:36.3518158Z ##[debug]Running JavaScript Action with default external tool: node12 2020-10-21T19:36:36.4598292Z /__e/node12/bin/node: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory 2020-10-21T19:36:36.5025788Z ##[debug]Node Action run completed with exit code 127 2020-10-21T19:36:36.5031478Z ##[debug]Finishing: Post Run actions/checkout@main 2020-10-21T19:36:36.5042028Z ##[debug]Evaluating condition for step: 'Stop containers' 2020-10-21T19:36:36.5054413Z ##[debug]Evaluating: always() 2020-10-21T19:36:36.5055994Z ##[debug]Evaluating always: 2020-10-21T19:36:36.5057497Z ##[debug]=> true 2020-10-21T19:36:36.5058915Z ##[debug]Result: true 2020-10-21T19:36:36.5060966Z ##[debug]Starting: Stop containers 2020-10-21T19:36:36.5073428Z Stop and remove container: c2d455668a4c446ba2135b1d690354ec_dockeriobusyboxglibc_fd30aa 2020-10-21T19:36:36.5098608Z ##[command]/usr/bin/docker rm --force f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:36.7286546Z f7501978dc55777d78a0a41bcbd509324f5cc2779e78044f151bb910049bb526 2020-10-21T19:36:36.7326394Z Remove container network: github_network_be3d1c4e36e9432f8083c228b5196e76 2020-10-21T19:36:36.7329797Z ##[command]/usr/bin/docker network rm github_network_be3d1c4e36e9432f8083c228b5196e76 2020-10-21T19:36:36.8535933Z github_network_be3d1c4e36e9432f8083c228b5196e76 2020-10-21T19:36:36.8566356Z ##[debug]Finishing: Stop containers 2020-10-21T19:36:36.8573540Z ##[debug]Starting: Complete job 2020-10-21T19:36:36.8574427Z Uploading runner diagnostic logs 2020-10-21T19:36:36.8579479Z ##[debug]Starting diagnostic file upload. 2020-10-21T19:36:36.8579854Z ##[debug]Setting up diagnostic log folders. 2020-10-21T19:36:36.8581874Z ##[debug]Creating diagnostic log files folder. 2020-10-21T19:36:36.8588039Z ##[debug]Copying 2 worker diagnostic logs. 2020-10-21T19:36:36.8593617Z ##[debug]Copying 1 runner diagnostic logs. 2020-10-21T19:36:36.8594904Z ##[debug]Zipping diagnostic files. 2020-10-21T19:36:36.8641098Z ##[debug]Uploading diagnostic metadata file. 2020-10-21T19:36:36.8686131Z ##[debug]Diagnostic file upload complete. 2020-10-21T19:36:36.8686962Z Completed runner diagnostic log upload 2020-10-21T19:36:36.8687382Z Cleaning up orphan processes 2020-10-21T19:36:36.9019512Z ##[debug]Finishing: Complete job 2020-10-21T19:36:36.9025530Z ##[debug]Finishing: test-without-lib-mount ```

infinisil commented 3 years ago

Nice, I also looked into this again and figured it out in Nix's case as well, see https://github.com/niteoweb/nix-docker-base/commit/0a5ceed0441a32b25a33b6904a47e007231b58c6 for the fix for nix-docker-base In short:

What I used for debugging:

smorimoto commented 3 years ago

After all, this PR https://github.com/actions/checkout/pull/70 turned this action into an action called "JavaScript Actions", so we can use v1 to checkout the code without any extra hacks.

smorimoto commented 3 years ago

ping: @ericsciple

erikkn commented 3 years ago

Hey @smorimoto , using checkout@v1 works for me! I know this is a question is related to an entirely different action and repo/project, but I hoped that you might have an idea: I am having the exact same issue/error with actions/cache (both v1 and v2).

Run actions/cache@v1
/usr/bin/docker exec  beacc08dc0d54990f867e35ee08df25b44b7babe6554461e1d48c3463ff4705f sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12/bin/node\": stat /__e/node12/bin/node: no such file or directory": unknown
smorimoto commented 3 years ago

@erikkn Both v1 and v2 of the cache action depends on Node.js. ​That's why it fails. ​For the same reason, setup actions that depend on Node.js will fail. The reason v1 of the checkout action works is that it depends only on Bash. (The source for v1 of the checkout action was not published, but it was Bash if I remember correctly.)

erikkn commented 3 years ago

Thanks for that info, helped me understand the error more :).

Since some people in this thread also mentioned the summerwind/actions-controller, I think the actual error message, in that case, is strongly related to the /__e directory not properly being mounted when you do DinD. In case your workflow has container: <xyz> check that container when your build is running and specifically the /__e mount point cc @https://github.com/shusson

igagis commented 3 years ago

I'm getting similar error when running ARM architecture container on self-hosted runner with qemu:

/usr/bin/docker exec  fa8d097e192742620c108ab888c3ba9551b08ae35c3fca2414f7f652a8ee1476 sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: no such file or directory: unknown

Here is the run https://github.com/cppfw/myci/runs/1583234188?check_suite_focus=true

Do I understand right that the checkout action, which is a javascript action, in this case is run inside of the container and since there is no nodejs present in the container it can't run the action?

I tried installing nodejs inside of the container before performing actions/checkout@v2 but it did not help, same error.

ItsReddi commented 3 years ago

@erikkn did you manage to configure the actions properly? atm we are using checkout@v1 because of this issue but we are unable to use cache. any example action would be nice (with DinD)

smorimoto commented 3 years ago

Can you debug with this? https://docs.github.com/en/actions/managing-workflow-runs/enabling-debug-logging

erikkn commented 3 years ago

@ItsReddi yeah that sounds familiar. I got this error while using the summerwind/actions-runner-controler, so my troubleshooting was pretty much limited to that project. I created an upstream PR in that project, which got meged and confirmed to work now.

ItsReddi commented 3 years ago

Debug of checkout@v2, cache@v2/v1 same error:

##[debug]Evaluating condition for step: 'Check out repository code'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Check out repository code
##[debug]Register post job cleanup for action: actions/checkout@v2
##[debug]Loading inputs
##[debug]Evaluating: github.repository
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'repository'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Evaluating: github.token
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'token'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run actions/checkout@v2
  with:
    repository: ***
    token: ***
    ssh-strict: true
    persist-credentials: true
    clean: true
    fetch-depth: 1
    lfs: false
    submodules: false
/usr/bin/docker exec  7bc6bd185174710b983b441c8dcebbc52ba6d4e7348c2fa84e2c4eeb37f101f0 sh -c "cat /etc/*release | grep ^ID"
##[debug]ID=alpine
##[debug]Container distribution is alpine. Running JavaScript Action with external tool: node12_alpine
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12_alpine/bin/node\": stat /__e/node12_alpine/bin/node: no such file or directory": unknown
##[debug]Node Action run completed with exit code 126
##[debug]Finishing: Check out repository code
smorimoto commented 3 years ago

Here seems to be notable errors:

##[debug]Container distribution is alpine. Running JavaScript Action with external tool: node12_alpine
OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/__e/node12_alpine/bin/node\": stat /__e/node12_alpine/bin/node: no such file or directory": unknown
smorimoto commented 3 years ago

And this seems like a related issue: https://github.com/actions/runner/issues/358

In short: Install bash in your job container.

ItsReddi commented 3 years ago

Thanks @smorimoto our issue seems offtpoic from here, we will raise an other issue in the runner repo. It seems /__e is not mounted correctly, even if the external directory and files exists on the runner. grafik

mwilck commented 3 years ago

I had the same issue in this sample trivial repo, but only in 32 bit containers, Alpine and Debian

/usr/bin/docker exec  faf427970a3f818a56947cfc3d2240cb9cfd74318bf6b301ecc5d2c98e574e74 sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: no such file or directory: unknown

Following @smorimoto's advice to use checkout@v1 the issue went away.

In the error case, with step debug logging, I get this:

2021-03-16T21:06:32.4788852Z ##[group]Run actions/checkout@v2
2021-03-16T21:06:32.4789490Z with:
2021-03-16T21:06:32.4789894Z   repository: mwilck/wft
2021-03-16T21:06:32.4791003Z   token: ***
2021-03-16T21:06:32.4791377Z   ssh-strict: true
2021-03-16T21:06:32.4794509Z   persist-credentials: true
2021-03-16T21:06:32.4795003Z   clean: true
2021-03-16T21:06:32.4796337Z   fetch-depth: 1
2021-03-16T21:06:32.4796723Z   lfs: false
2021-03-16T21:06:32.4797272Z   submodules: false
2021-03-16T21:06:32.4798331Z ##[endgroup]
2021-03-16T21:06:32.4822241Z ##[command]/usr/bin/docker exec  af5feb09cd081b1462833aa35d2625e9b7f1cad8c65d81b7acdd1c20cd719f54 sh -c "cat /etc/*release | grep ^ID"
2021-03-16T21:06:32.6394890Z ##[debug]ID=alpine
2021-03-16T21:06:32.6396164Z ##[debug]Container distribution is alpine. Running JavaScript Action with external tool: node12_alpine
2021-03-16T21:06:32.8008187Z OCI runtime exec failed: exec failed: container_linux.go:367: starting container process caused: no such file or directory: unknown
2021-03-16T21:06:32.8051864Z ##[debug]Node Action run completed with exit code 126
smorimoto commented 3 years ago

Yeah, but by making appropriate changes to the code in this part of the runner, we should be able to fix it. src/Misc/externals.sh I'm cooking now, so I will make a patch to fix it upstream later.

mwilck commented 3 years ago

In the (less trivial) repo where I had the issue originally, I needed to use download-artifact@v1 and upload-artifact@v1, too, to avoid this problem.

smorimoto commented 3 years ago

It seems that a lot of votes are needed to solve this problem in the upstream. Please check this out if you are interested in that: https://github.com/actions/runner/issues/1011

mwilck commented 3 years ago

@smorimoto, I'd happily support this, but I lack deeper understanding how the two issues are related. I'm totally ignorant of node.js. IIUC the issue arises on non-64bit platforms because the actions try to run a 64bit node.js. I'd already be happy if we got a more meaningful error message, plus a suggestion to use the @v1 releases of the respective actions rather than @v2, which seems to work just fine.

2bdkid commented 3 years ago

I'm getting this error using the tcardonne/github-runner container and a Fedora based container action. Is there a way to make this work?

mwilck commented 3 years ago

@2bdkid, try using @v1 actions.

2bdkid commented 3 years ago

@2bdkid, try using @v1 actions.

I think that side-steps the issue, albeit my action still fails - I can't tell if this is related or not. This happens in the following step so I doubt it. When I run this action on a bare-metal runner it works fine, but I get this with the tcardonne/github-runner runner.

fedpkg --name kernel --namespace rpms local
  shell: sh -e {0}
sh: /__w/_temp/7390a4f7-8758-458f-8360-45c383f78650.sh: No such file or directory
igagis commented 2 years ago

Since actions/checkout@v2 did not work for me on my self-hosted runner, I've been using actions/checkout@v1, unitl I needed submodules. actions/checkout@v1 did not work with submodules, for some reason. So, I have created own checkout action https://github.com/marketplace/actions/checkout-github-repo Maybe it will be useful for someone.

provgregoryabdo commented 2 years ago

Is there a fix coming for this issue? I would like to use "actions/setup-java" and "actions/setup-node" in which just switching to @1 does not get away from using node.

wilmveel commented 2 years ago

+1

gibsonje commented 2 years ago

Having this issue. Using v1 got me past it.

Syntax3rror404 commented 2 years ago

I also have this problem with v2, v1 works fine

pllim commented 2 years ago

Still a problem with v3

/usr/bin/docker exec  ... sh -c "cat /etc/*release | grep ^ID"
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: no such file or directory: unknown
bram-perl commented 1 year ago

What is happening: when a docker container is used the action runner adds a volume mount for the /__e/ directory. When running an 'actions' task that uses node it will use something like: /__e/node16/bin/node ....

The problem: this only works if the architecture on the host-runner is the same as the architecture in the container. If the host is x86_64 (64-bit) and you try to run a container with i386 (32-bit) then you're out of luck. The node binaries in /__e are not suitable for that so they fail. A possible similar problem [but I did not fully verify that]: if the container is not using glibc as libc library but another one (for example musl which is used on Alpine) then you might be out of luck. Running an Alpine container should be possible tho since that is special cased in the actions runner.

Relevant code links:

What can be done to check if you're running into the same issue: extend the workflow and add this as an extra step:

      - name: Test node
        run: |
           echo "Checking for a usable node in /__e/node"
           for f in /__e/node*/bin/node; do
               echo "Testing: $f --version";
               $f --version || echo "$f does not work, exit status: $?"
           done

It will try to call --version on every node binary it can find in /__e/. Very likely none of them are working (if they were working you wouldn't be reading this..) due to different architecture/different libc.

The bad news: the /__e/ path appears to be hard-coded and impossible to overrule... Installing node in the container is - usually - not a problem but it doesn't make the problem go away since the runner calls node that is installed in /__e/.

The only way this can ever be fixed is if https://github.com/actions/runner is updated.. https://github.com/actions/runner/issues/1011 was linked earlier in this ticket but it's not 100% related.. (~so I will likely create a new issue in that project~ see https://github.com/actions/runner/issues/2115)

bram-perl commented 1 year ago

https://github.com/actions/checkout/issues/334#issuecomment-728624670

The reason v1 of the checkout action works is that it depends only on Bash. (The source for v1 of the checkout action was not published, but it was Bash if I remember correctly.)

As far as I can tell: v1 is implemented as plugin which runs on the host and not inside the container. (Which means it's not affected by the container running 32-bit or using another libc implementation.)

The plugin source is available in: https://github.com/actions/runner/blob/main/src/Runner.Plugins/Repository/v1.0/RepositoryPlugin.cs#L16 (which was configured via https://github.com/actions/runner/blob/main/src/Runner.Worker/RunnerPluginManager.cs#L32 )

fcharras commented 1 year ago

I also have this problem with v2 and v3 and v1 works fine (using a busybox container)

nqb commented 1 year ago

Hello, Do we have any progress on that issue ? Or a workaround to use v3 with any containers ? At the moment, I'm using v1 as a workaround. However, this workaround cause me an issue when mixing v1 and v3 usage inside a workflow.

Thanks!

dac73 commented 1 year ago

Just had this error, but my issue was that I was trying to do it in Docker-From-Docker (DooD). In order to run it in DooD host has to have the runner files.

Hope it helps someone.

RazvanGherlea commented 11 months ago

I am experiencing the same issue. With ECS(Ec2 autoscaling group) self hosted runner. When running in DIND, respectively when executing a build with container flag

# A workflow run is made up of one or more jobs that can run sequentially or in parallel also
jobs:
  # This workflow contains a single job called "build"
  build:
    # The type of runner that the job will run on
    runs-on: self-hosted
    container: 
      image: ubuntu:latest

Error:

Run printf "ID=debian\n" > /etc/os-release
  printf "ID=debian\n" > /etc/os-release
  shell: sh -e {0}

sh: can't open '/__w/_temp/5e43f1d[2](https://github.com/x/testing-self-hosted-runner/actions/runs/5762128572/job/15621310714#step:3:2)-c1d7-[4](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:4)c1f-9d1[4](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:5)-f020c2[5](https://github.com/x/testing-self-hosted-
runner/actions/runs/5762128572/job/15621310714#step:3:6)6cece.sh': No such file or directory
Error: Process completed with exit code 2.

Is there any setting we can hardcode in the workflow -> container block to bypass this ?

FloThinksPi commented 3 months ago

Running actions inside a container based on the nix base image, following workaround could others find helpfull:

      steps:
        - name: Apply Workaround for Dynamically Linked NodeJS
          run: |
            # Hacks to get the mounted nodejs by github actions work as its dynamically linked
            # https://github.com/actions/checkout/issues/334#issuecomment-716068696
            nix build --no-link --max-jobs 2 --cores 0 'nixpkgs#stdenv.cc.cc.lib' 'nixpkgs#glibc'
            echo "LD_LIBRARY_PATH=$(nix path-info 'nixpkgs#stdenv.cc.cc.lib')/lib" >> "$GITHUB_ENV"
            ln -s "$(nix path-info 'nixpkgs#glibc' --recursive | grep glibc | grep -v bin)/lib64" /lib64

It makes no sense that the runner uses volume mounts to add dynamically linked stuff into the container. The runner shall either include a statically linked binary or rely on the containers nodejs version imho. I`ll try and adress this somewhere :)

michaelbertoni-ep commented 3 weeks ago

Hello, what is the current workaround for this issue ?