Cypress: Trying to install cypress without a TTY produces thousands of lines of output during 'Unzipping Cypress'

Created on 1 Feb 2018  ·  22Comments  ·  Source: cypress-io/cypress

Current behavior:

cypress

Desired behavior:

Installing cypress should print, like, five lines tops. Certainly less than a screen full.

How to reproduce:

The easiest way:

docker run --rm node:8.9.4-alpine npm install cypress

Current workaround

Set environment variable CI=1 to avoid a lot of output during install

cli 1️⃣ existing workaround ready for work installation user experience

Most helpful comment

@jwalton I was able to suppress output by CI=true npm install cypress which will produce only:

Installing Cypress (version: 1.4.2)

[10:27:23]  Downloading Cypress     [started]
[10:27:52]  Downloading Cypress     [completed]
[10:27:52]  Unzipping Cypress       [started]
...

All 22 comments

@jwalton I was able to suppress output by CI=true npm install cypress which will produce only:

Installing Cypress (version: 1.4.2)

[10:27:23]  Downloading Cypress     [started]
[10:27:52]  Downloading Cypress     [completed]
[10:27:52]  Unzipping Cypress       [started]
...

Same problem for Netlify installs

screen shot 2018-06-25 at 11 40 20 pm

This is pretty annoying. It fills up the complete log with kinda useless information.

@ondrejbartas This is unfortunately not a (optimal) solution as it may affect other part of your code/build by setting this CI environment variable to true.

Same problem here on Netlify. Also the unzipping stage takes about 10 minutes on Netlify but that's probably something on their end.

@Christilut you can find my Cypress + Netlify demo described at https://glebbahmutov.com/blog/gatsby-netlify-circle-and-cypress/

I did have to use CI=1 environment variable to get around lots of output during install, but I felt the deploy was quite snappy.

I'm running into the same issue on Netlify. Every build is failing because of their 15 minute limit, most of which is taken up by "Unzipping Cypress".

I use Docker to build my app, but I don’t want to run my tests there: what I did is to move Cypress to optionalDependencies and npm install --no-optional.

Downloading and Unzipping just takes too much time...

This is making our npm install take 2.5 minutes instead of 1 minute. I used the CI=true to fix it for now but it would be great to default to not logging this information.

This fills up my cloudbuild log buffer on GCP CloudBuilder and I cannot see what happens afterwards.
This behavior is buggy and an environment variable CI=true to fix it is not okay, that's one layer everyone's Docker image for a single poor design choice

@jennifer-shehane I dont think we should close this issue, The PR I created only reduce the number of prints, but it does not completely solve the problem

@Songyu-Wang Thanks for clarifying!

Still having this. issue Any update?

Any resolution on this? Using ci=true is not an option as that kills build performance by deleting the node_modules folder and starting npm-install from scratch. We are already using the npm install --quiet flag and should ONLY be seeing errors and warnings. The huge cypress "Downloading" and "Unzipping" messages are neither. Cypress should be respecting the --quiet flag.

@mike-potter the work around we put at the top of the issue is not to do npm ci but to set the environment variable CI=1 when doing any type of install. For example you could do CI=1 npm install or CI=1 yarn to prevent extra messages

Can somebody point me to the docs for the CI environment variable? Is this something npm is using, or is this Cypress-specific. I need to know what the other affects of setting this variable might be before I can add it to our prod deployment.

Also, since this job is running in GitLab, I can see that there is already a global environment variable CI=true being set, so not sure putting this inline with the npm install will change anything. Does it need to be CI=1 rather than CI=true?

Mike, this variable is very common across many CI providers, see for
example this CI detection module https://github.com/watson/ci-info - it can
be anything, both CI=1 and CI=true are ok, as long as there is some value
set.

On Fri, Apr 3, 2020 at 9:09 AM Mike Potter notifications@github.com wrote:

Also, since this job is running in GitLab, I can see that there is already
a global environment variable CI=true being set, so not sure putting this
inline with the npm install will change anything. Does it need to be CI=1
rather than CI=true?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/cypress-io/cypress/issues/1243#issuecomment-608423570,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ4BJS2G37BOYGC3OOO2MLRKXNXBANCNFSM4EOT6KEQ
.

--
Dr. Gleb Bahmutov, PhD

Schedule video chat / phone call / meeting with me via
https://calendly.com/bahmutov
gleb.[email protected] @bahmutov https://twitter.com/@bahmutov
https://glebbahmutov.com/ https://glebbahmutov.com/blog
https://github.com/bahmutov

Bah, sorry, my fault. We were running npm install in docker-in-docker and the CI variable wasn't being passed down into that container.

This issue has been open for over 2 years. I'm wondering what the business requirement that the percentage of an unzip need to be logged to stdout _in any case_, or has this made no progress in 2 years?

This issue is still in the 'ready for work' stage, which means no work has been done on this issue as of today, so we do not have an estimate on when this will be delivered.

@joshnuna It is nice to see the install progress when installing locally. The printing of every progress line does not effect every user of Cypress nor every environment.

There is an existing workaround https://github.com/cypress-io/cypress/issues/1243#issuecomment-365560861

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zbigniewkalinowski picture zbigniewkalinowski  ·  3Comments

carloscheddar picture carloscheddar  ·  3Comments

SecondFlight picture SecondFlight  ·  3Comments

szabyg picture szabyg  ·  3Comments

weskor picture weskor  ·  3Comments