[error] Parameter 'commandLine' cannot be null or empty.
davivcgarcia opened this issue · comments
When using the action:
- name: (API) Setup Deno environment
uses: denolib/setup-deno@v2
with:
deno-version: v1.x
On a self-hosted
runner, I see the following error:
Run denolib/setup-deno@v2
with:
deno-version: v1.x
##[error]Parameter 'commandLine' cannot be null or empty.
Any advice?
The error seems to be generated here:
Lines 4754 to 4766 in 482dc73
Lines 193 to 194 in 482dc73
Is there
gzip
inself-hosted
?
This is indeed a problem, we should use the gzip implemented in pure nodejs
Lines 193 to 194 in 482dc73
Is there
gzip
inself-hosted
?
Yes, there is.
[root@ip-172-31-52-214 ec2-user]# rpm -qa | grep gzip
gzip-1.9-9.el8.x86_64
[root@ip-172-31-52-214 ec2-user]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.2 (Ootpa)
What are the other packages required for this action? I can check if all of them are properly installed.
I just tested self-hosted
, using Linux x64 environment, and successfully executed setup-deno
🤔
I just tested
self-hosted
, using Linux x64 environment, and successfully executedsetup-deno
thinking
What distribution did you use? I'm using a CentOs/RHEL 8 minimum install.
I too am experiencing this same error on a centos:8 docker container.
/usr/bin/docker exec 1ac4a3ce3754dfaeeb0c7d6f38d7328f4d0621d78d43bf54890ebd4ab7adea87 sh -c "cat /etc/*release | grep ^ID"
##[error]Parameter 'commandLine' cannot be null or empty.
Is the issue that on Centos 8 containers, await io.which("gzip")
is returning an empty string?
Then when that empty string is passed to exec.exec()
we get that argument error?
Lines 193 to 194 in 482dc73
Is the issue that on Centos 8 containers,
await io.which("gzip")
is returning an empty string?
Then when that empty string is passed toexec.exec()
we get that argument error?Lines 193 to 194 in 482dc73
I suspect yes, I need to verify on CentOS, but it will take a few days.
Anyway, gzip
implemented using pure nodejs
is necessary
I found a way to get this action to work on Centos 8 containers. Before running this action, install the unzip package using dnf.
dnf install -y unzip
The workflow file that worked for me was:
name: Deno Install Test
on: [push]
jobs:
install:
name: "Deno Install"
runs-on: ubuntu-18.04
container:
image: centos:8
steps:
- run: dnf install -y unzip
- uses: denolib/setup-deno@v2
with:
deno-version: v1.x
- run: deno --version
Lines 186 to 197 in e4ecee2
Setup the 1.x version of Deno, this code is not executed at all, a confusing error...
Since we rely on @actions/tool-cache
, and it eventually calls tar
, this is an issue of @actions/tool-cache
I don't think there's anything wrong with setup-deno: it's just that self-hosted runners don't have a lot of the same binaries that Github runners do. act has a similar issue: command not found