toolchain icon indicating copy to clipboard operation
toolchain copied to clipboard

Error: The "path" argument must be of type string. Received type undefined

Open mirosval opened this issue 3 years ago • 3 comments

Description

Mystery error. I am really not sure what is going on here. I had a CI pipeline that worked. Then we changed the AWS Instance type of the Github Action Runner and suddenly I get the error above. It seems like the toolchain actually got installed and the error happened after? The return status code of the Node process was 1. The undefined part suggest its some JS issue.

Here's what I tried, maybe some of it will help:

  • I tried moving the action around
  • I tried enabling all additional logging in GH Actions (no additional clues)
  • I tried searching the dist/index.js file in this repo, but the above error string does not appear there at all, which is super puzzling.

The Runner is Amazon Linux.

Workflow code

jobs:
  setup:
    runs-on: [self-hosted, data-infra-runner]
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - name: Configure AWS credentials
      uses: aws-actions/configure-aws-credentials@v1
      with:
        aws-region: eu-west-1
    - name: Login to Amazon ECR
      id: login-ecr
      uses: aws-actions/amazon-ecr-login@v1
    - name: Install OS Dependencies
      run: yum -y install gcc openssl-devel
    - uses: actions-rs/toolchain@v1
      with:
        toolchain: stable
    - uses: actions/setup-node@v2-beta
      with:
        node-version: '12'
    - name: Set up Python 3.8
      uses: actions/setup-python@v2
      with:
        python-version: 3.8

Action output

##[debug]Evaluating condition for step: 'Run actions-rs/toolchain@v1'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Run actions-rs/toolchain@v1
##[debug]Loading inputs
##[debug]Loading env
Run actions-rs/toolchain@v1
  with:
    toolchain: stable
    default: false
    override: false
  env:
    AWS_DEFAULT_REGION: eu-west-1
    AWS_REGION: eu-west-1
##[debug]using toolchain from input: stable
##[debug]Unable to find "rustup" executable, installing it now. Reason: Error: Unable to locate executable file: rustup. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
##[debug]Downloading https://sh.rustup.rs
##[debug]Destination /actions-runner1/_work/_temp/55df5a05-4a89-4681-bd61-af620f8fdfb4
##[debug]download complete
##[debug]Executing chmod 755 on the /actions-runner1/_work/_temp/55df5a05-4a89-4681-bd61-af620f8fdfb4
/actions-runner1/_work/_temp/55df5a05-4a89-4681-bd61-af620f8fdfb4 --default-toolchain none -y
info: downloading installer
info: profile set to 'default'
info: default host triple is x86_64-unknown-linux-gnu
info: skipping toolchain installation


Rust is installed now. Great!

To get started you need Cargo's bin directory ($HOME/.cargo/bin) in your PATH
environment variable. Next time you log in this will be done
automatically.

To configure your current shell, run:
source $HOME/.cargo/env
Error: The "path" argument must be of type string. Received type undefined
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Run actions-rs/toolchain@v1

mirosval avatar Dec 07 '20 20:12 mirosval

I'm facing the same issue. Using debian-10 image.

bilucodota avatar Apr 29 '21 14:04 bilucodota

K, after debugging it - got to this line. Apparently the action counts on the process having a $HOME folder defined.

bilucodota avatar May 04 '21 12:05 bilucodota

Workaround: manually set $HOME, for example, echo "HOME=/home/ubuntu" >> ${GITHUB_ENV}

keroro520 avatar May 24 '21 04:05 keroro520