cypress-io / cypress-docker-images

Docker images with Cypress dependencies and browsers
https://on.cypress.io/continuous-integration
MIT License
1.02k stars 380 forks source link

Firefox not available in included? #1220

Open pkly opened 10 hours ago

pkly commented 10 hours ago

Hello, I've build an image adding docker stuff on top of cypress/included:cypress-13.15.0-node-20.17.0-chrome-129.0.6668.70-1-ff-130.0.1-edge-129.0.2792.52-1, but when I run it in CI it complains that firefox is not installed?

You can also use a custom browser: https://on.cypress.io/customize-browsers
Available browsers found on your system are:
 - chrome
 - edge
 - electron

I'm not sure what happened along the way to make firefox no longer available in CI.

Sorry if this is my error, but I'm confused how could I remove an entire browser by simply installing docker and running npm install -g typescript ts-node in said image.

MikeMcC399 commented 10 hours ago

@pkly

Possibly you are running into the problem Firefox not found.

MikeMcC399 commented 10 hours ago

BTW typescript is already globally installed (although that is not documented)

$ docker run -it --rm --entrypoint bash cypress/included:13.15.0 -c "npm ls -g"
/usr/local/lib
+-- corepack@0.29.3
+-- cypress@13.15.0
+-- npm@10.8.2
`-- typescript@5.6.2
pkly commented 8 hours ago

@MikeMcC399 gitlab ci's on a custom runner, it's just a docker image built on top of the original one with some stuff added, I didn't explicitly specify a user for the runner though, so that could be it maybe

MikeMcC399 commented 8 hours ago

@pkly

If you add

firefox --version

into your GitLab workflow, you should get a usable error message if you are running the container under the (default) root user.

This is the message for GitHub. Check which uid is mentioned by GitLab and run your container under that uid

Run firefox --version
  firefox --version
  shell: sh -e {0}
Running Firefox as root in a regular user's session is not supported.  ($HOME is /github/home which is owned by uid 1001.)
Error: Process completed with exit code 1.