CI started to fail on Run actions/setup-node@v1

Hey great Github Community,

We are using Github CI to generate NPM package and yesterday our CI started to fail on following action: Run actions/setup-node@v1 ! We didn’t changed any configuration of CI and it seems like github issue. Any ideas?

COMMAND:

Run actions/setup-node@v1
 with:
   node-version: 12
   registry-url: https://npm.pkg.github.com/
   scope: @ierp-ai
   always-auth: false

ERROR:
[error]No such file or directory

DETAILED LOG:

##[debug]Result: true
6
##[debug]Starting: Run actions/setup-node@v1
7
##[debug]Loading inputs
8
##[debug]Loading env
9
Run actions/setup-node@v1
10
  with:
11
    node-version: 12
12
    registry-url: https://npm.pkg.github.com/
13
    scope: @ierp-ai
14
    always-auth: false
15
##[error]No such file or directory
16
##[debug]System.ComponentModel.Win32Exception (2): No such file or directory
17
##[debug]   at System.Diagnostics.Process.ForkAndExecProcess(String filename, String[] argv, String[] envp, String cwd, Boolean redirectStdin, Boolean redirectStdout, Boolean redirectStderr, Boolean setCredentials, UInt32 userId, UInt32 groupId, UInt32[] groups, Int32& stdinFd, Int32& stdoutFd, Int32& stderrFd, Boolean usesTerminal, Boolean throwOnNoExec)
18
##[debug]   at System.Diagnostics.Process.StartCore(ProcessStartInfo startInfo)
19
##[debug]   at System.Diagnostics.Process.Start()
20
##[debug]   at GitHub.Runner.Sdk.ProcessInvoker.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Channel`1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
21
##[debug]   at GitHub.Runner.Common.ProcessInvokerWrapper.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Channel`1 redirectStandardIn, Boolean inheritConsoleHandler, Boolean keepStandardInOpen, Boolean highPriorityProcess, CancellationToken cancellationToken)
22
##[debug]   at GitHub.Runner.Worker.Handlers.DefaultStepHost.ExecuteAsync(String workingDirectory, String fileName, String arguments, IDictionary`2 environment, Boolean requireExitCodeZero, Encoding outputEncoding, Boolean killProcessOnCancel, Boolean inheritConsoleHandler, CancellationToken cancellationToken)
23
##[debug]   at GitHub.Runner.Worker.Handlers.NodeScriptActionHandler.RunAsync(ActionRunStage stage)
24
##[debug]   at GitHub.Runner.Worker.ActionRunner.RunAsync()
25
##[debug]   at GitHub.Runner.Worker.StepsRunner.RunStepAsync(IStep step, CancellationToken jobCancellationToken)
26
##[debug]Finishing: Run actions/setup-node@v1
  Run npm install -g yarn

Guys, any idea? Commit is waiting and due to this issue is completely stuck :triumph:

@flesicek ,

I also tested the setup-node v1 action with the similar inputs on my side, but did not reproduce the issue, the action can work fine without any errors (see here).

I have created an issue ticket (actions/setup-node#199) to help you report the problem you are facing to the appropriate engineering team for further investigation and evaluation.

You can follow this issue ticket and add your comment to it.

Thank you very much.

Yesterday I did some more digging and interesting fact is that Github action should be using ubuntu-latest but the exception below is triggered by Win32 :thinking:

This may be some internal issue triggered not by the action itself as it is on Win32 level, not on the ubuntu level … but that is only my guess

jobs:
  package:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
        with:
          path: algorithm
      - uses: actions/checkout@v1
        with:
          repository: iERP-ai/studio
          path: studio
          ref: master
          token: ${{ secrets.CI_GPR_TOKEN }}
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: 'https://npm.pkg.github.com/'
          scope: '@ierp-ai'

We are seeing a similar issue using the setup-java action. It seems likely that the problem is not with the action, unless there is shared code between setup-java and setup-node.

We are using self-hosted runners running Ubuntu 18.04, and this issue started for us sometime Friday last week.

edit: I’ve been told that this issue actually affects all our actions, not just setup-java.

1 Like

@flesicek, @srdo ,

I did more tests for these two actions and other actions in different configurations. However, I never reproduce the similar errors.
Maybe, we can wait for the reply from the engineering team to see if they have some suggestions.

yeah we have similar issues on all our actions that all are failing with

OCI runtime exec failed: exec failed: container_linux.go:370: starting container process caused: chdir to cwd ("/__w/my_repo/my_repo") set in config.json failed: no such file or directory: unknown

In our case, the workflow runs insider a container on the host. I’m thinking something has changed/been broken in how the repo is mounted?

Workflow snippet (the “install postgresql client” fails with the error above)

name: Tests

on: pull_request

jobs:
  rpsec:
    name: rspec tests
    runs-on: ubuntu-latest

    # runs all of the steps inside the specified container rather than on the VM host.  
    # Because of this the network configuration changes from host based network to a container network.
    container:
      image:  ruby:2.6.5

    services:
      postgres:
        image: postgres:10.13
        env:
          POSTGRES_USER: postgres
          POSTGRES_PASSWORD: "password"
        ports:
          - 5432:5432
        # needed because the postgres container does not provide a healthcheck
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

    steps:
    - uses: actions/checkout@v1
      with:
        path: app/

      # required to compile pg ruby gem
    - name: install PostgreSQL client
      run: apt-get update -qq && apt-get install -y libpq-dev postgresql-client

    - name: create gems cache folder
      run: mkdir -p vendor/cache