-
Notifications
You must be signed in to change notification settings - Fork 380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dbus warnings with 9.0.0 image #555
Comments
Hi I can confirm this behavior on az devops agent (Environment: ubuntu-20.04 Version: 20211108.1 Included Software: https://github.com/actions/virtual-environments/blob/ubuntu20/20211108.1/images/linux/Ubuntu2004-README.md Image Release: https://github.com/actions/virtual-environments/releases/tag/ubuntu20%2F20211108.1) But on my work machine a windows 10 with Docker 4.2.0 with WSL 2 backend enabled, I get the following output:
so perhaps an on linux problem? |
Seeing same failure as @jimfm with the latest docker image (9.0.0) - Jenkins CI with docker as an agent. |
Hello I'm seeing the same problem on our CI going from Cypress v8.7.0 to v9.1.0.
It seems this docker image only works when launching the command as a root user, which is a huge regression. |
Same here: =(
|
Same issue here as well. Any suggestion or solution?
|
@flotwig Any chance someone can check on this? I'm seeing other tickets with similar descriptions. |
same here. After I downgraded 8.7, problem disappeared. |
for now i'm using the 8.7 image and update cypress before running the build |
Those of you seeing this issue, can you please share the OS being used & the docker command being ran that produced this error? It would be helpful to link to any builds as a reference as well. |
Hi @emilyrohrbough, OS: Ubuntu 20.04
|
SO: Ubuntu 20.04 FROM cypress/included:9.1.1 |
OS: CentOS 7.0 |
Same here:
FROM cypress/included:9.2.0 |
Hi @emilyrohrbough, any known workarounds other than running as root (regression and not greatest option to go for I'd say) or recommended to stay on 8.7.0 until resolved? Thanks! |
Hmm, when I go back to 8.7.0 using the above advice, i still get the same error output. Am running off Docker (Linux) |
Hm... Duplicate? #543 |
Warnings in the 8.7.0 do not fail the whole build/run, which they do with 9.0.0 img |
Try to use the latest image 9.3.1 for the build/run |
Getting same output as on 9.0.0 |
@jvavre Are you able to execute the test scenarious? Unfortunately, I did not find yet any proper solution to fix or suppress those messages in the Docker:
But our tests are OK to run with the latest image 9.3.1 except for those annoying messages. |
Hey! Can't, still failing with latest image (9.3.1) as mentioned above - I assume root permission might work, but can't do that with the policy set up in CI |
Also confirmed in 9.3.1 image. Using Mac OS 11.6 and Docker desktop 4.4.2 (73305). Also get while running the tests [19:0131/221005.330335:ERROR:bus.cc(392)] Failed to connect to the bus: Address does not contain a colon. In addition to the above mentioned three lines. |
I'm on 9.4.1 and I'm still getting
I believe it is running in root, when I run it as user 'node' I get different errors about not being able to write to the video directory because it doesn't have root permissions This isn't just warnings, the test fails and exits with error code 1 I'm not seeing this issue when running cypress in docker locally, I'm only seeing this use when running cypress on docker via a github action. |
I get a different error, this happens across all jobs not just the cypress one.
E2A when I update to node 16 I need to set the cypress cash CYPRESS_CACHE_FOLDER then I am stuck with the
|
I have got further but still no cigar. So the main issue:
I never see locally I only see on github actions when running docker-compose calling cypress, so here is my docker-compose file:
I'm not convinced Here is what my git hub action looks like
It always fails at the Test step. However when I set the user on the github action (the last line from above) to:
It sort of works, it actually starts the test, but because I'm not root, and cypress needs root to save to /vidoes and /snpashots it errors at that bit like this: I also tried user '1001' based on another thread I think it was the cypress github actions repo issues people are experiencing similar problems their and are saying use user 1001 here cypress-io/github-action#446 clutching at straws now so I tried this:
Then I get a new error probably because that user doesn't exist: It doesn't matter what user stuff I put in the docker-compose file, the only thing that seems to have a bearing on this is the user set when running the docker compose from the github action workflow. |
I've just had a look at the generated docker files for cypress/included:9.4.1 and anything before cypress/included:9.0.0. so 8.7 and under where this issue doesn't exist and the only difference I can see is the jump from node 14 to node 16, or npm from 6 to >7 I also checked that when I updated my project to node 16 with all my docker images on node 16 except for the cypress, kept that at 8.7.0 (node 14) as long as I defined the CYPRESS_CACHE_FOLDER as an env var everything was fine. The moment I use cypress/included:9.0.0 + which has node 16, I see the issue. So i don't think it's an issue with github actions + docker + node 16, this is definitely a cypress/included specific issue. |
Ah ha! A colleague figured it out, it's when the host machine is Ubuntu which is what GitHub Actions uses and I assume other CI products also. You need to be explicit about the entry point location
It worked locally with docker-compose because either the host OS is different or it was different or it was using a different flavour of debian. I think there are issues with different services on the same container talking to each other and their permissions with Unbuntu and NPM >7, especially when using So we simplified my multistage build which had a services based on node 16 image that ran We now have one service based on the cypress/included:9.4.1 that does everything and there were no EACCES issues so docker compose just looks like this:
Now and the git hub action like this
so the thing to note here is that the cypress/included:9.4.1 image is where There is the caveat that I'm now installing cypress when before I didn't have I just used the one on the cypress/included image but at least it works. |
One solution came up for us running Cypress >= 9.0.0 using the docker containers in our CI system, running the official images in Kubernetes.
This fixed the permissions issues I had going on. I'm not sure what difference this is related to, but it fixed my issue. Hopefully it can helps someone else. |
This fixed it for me after a LOT of tries, without setting root permissions: cypress-io/cypress#2821 (comment) - I've found it buried there after going through a LOT of threads regarding this issue. I've just set these two env vars in Jenkinsfile. |
It worked for me too, thank you! |
I'm feeling like this is an I don't understand docker, but just changing the env vars, leaves me without an ability to run the cypress/included binary
where "/cumulus-dashboard/"is my pwd in my docker-compose file |
Could you please elaborate what have u changed? I am still using 8.7.0 due to same issue |
Your use case might be different - we use Jenkinsfile within our repo to run integration/smoke tests in Jenkins CI server. As in the linked comment, I've changed the default cache folders to be same with a new home folder (apparently those we did not have permission to access) in the prep and run tests stage of the setup.
|
Hi, I am facing the same issue, any version after 8.5 throws the below error when running is docker, irrespective of the cypress base image version. [229:0310/175236.574225:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory ────────────────────────────────────────┐ [229:0310/175241.102373:ERROR:bus.cc(392)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") |
See this comment for an update on this issue. |
I don't know if this helps someone, but for us the fix was to avoid running npm scripts. We're running cypress in an NX repo, so instead of
we now run
and everything works. This is, because npm messes with file ownership, see [RRFC] Clean up file ownership story |
dbus errors were 'corrected' here: cypress-io/cypress#20939 |
Switching from 8.7.0 to 9.0.0 image breaks our current Jenkins build with the following errors:
The warnings fail the build.
If I run the image locally as specified in the readme
docker run -it -v $PWD:/e2e -w /e2e cypress/included:9.0.0
I get the following warnings, though the tests still run:
Looking around for solutions indicates the dbus line
ENV DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
but I"m not that familiar with it to tell if that's the reason.The text was updated successfully, but these errors were encountered: