Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[github ci] "/bin/bash: /root/ici/ci_main.sh: No such file or directory" error with self-hosted runner #567

Closed
eliabruni opened this issue Nov 29, 2020 · 4 comments

Comments

@eliabruni
Copy link

eliabruni commented Nov 29, 2020

Hi all,

This is great work and would like to use it in our ci pipeline. I saw that the same error was reported in #213 for gitlab, however I cannot figure out how to adapt the solution to my case.

We have GitHub self-hosted arm64 runners. I therefore tried to use your action, with the following .yml file:

# This config uses industrial_ci (https://github.com/ros-industrial/industrial_ci.git).
# For troubleshooting, see readme (https://github.com/ros-industrial/industrial_ci/blob/master/README.rst)

name: CI

# This determines when this workflow is run
on: [push, pull_request] # on all pushes and PRs

# or more fine-grained
# on:
#   # When master or melodic-devel branch is pushed to
#   push:
#     branches: [ master, melodic-devel ]
#   # When there is a pull request against master
#   pull_request:
#     branches: [ master ]

jobs:
  industrial_ci:
    strategy:
      matrix:
        env:
          - {ROS_DISTRO: melodic, ROS_REPO: testing}
          - {ROS_DISTRO: melodic, ROS_REPO: main}
    env:
      CCACHE_DIR: /github/home/.ccache # Directory for ccache (and how we enable ccache in industrial_ci)
    runs-on: [self-hosted, linux, ARM64]
    container:
      image: ***/cirunner
      options: -v /var/run/docker.sock:/var/run/docker.sock
      
    steps:
      - uses: actions/checkout@v2
      # This step will fetch/store the directory used by ccache before/after the ci run
      - uses: actions/cache@v2
        with:
          path: ${{ env.CCACHE_DIR }}
          key: ccache-${{ matrix.env.ROS_DISTRO }}-${{ matrix.env.ROS_REPO }}
      # Run industrial_ci
      - uses: 'ros-industrial/industrial_ci@master'
        env: ${{ matrix.env }}

Unfortunately, I am getting the following error:

Run ros-industrial/industrial_ci@master
/usr/bin/docker exec  06dff26795df4e48502bc723ddcca3b09b559126bd793cedd214f697f90b9201 sh -c "cat /etc/*release | grep ^ID"

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Function 'prepare_docker_image' returned with code '0' after 2 min 49 sec
/bin/bash: /root/ici/ci_main.sh: No such file or directory

Any help is greatly appreciated!

@mathias-luedtke
Copy link
Member

/root/ici/ gets bind-mounted from the clone GitHub action. It might be that your local runner (or the container) need an additional volume to make that work.

@alvarozornoza
Copy link

I have same problem that @eliabruni has.

Shall you extend your answer @ipa-mdl ? Do you know how to configure the docker volume you mention in your answer? Further explanation would be kindly appreciated 💯

Thanks in advance

@mathias-luedtke
Copy link
Member

Do you know how to configure the docker volume you mention in your answer? Further explanation would be kindly appreciated

Unfortunately, I do not know how to configure it. I am not using self-hosted Github runners.

@eliabruni
Copy link
Author

@alvarozornoza check here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants