-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Running Playwright in Heroku #634
Comments
Does firefox or chromium work? |
All of them seem to fail. |
I ssh in the dyno and all dependencies and paths seems to be there (playwright-core/.local-chromium/linux-733125/chrome-linux) So at this point not sure whats going on. |
Final update, chrome works, firefox and webkit does not: My demo repo to test: Demo test url: |
@diervo The https://github.com/jontewks/puppeteer-heroku-buildpack is doing some magic, like installing dependencies. However, webkit requires a different set of dependencies to run, e.g. check out our github workflow. My bet would be that there's a need for a new
Also, can you check that there's also |
@diervo I tried out your testing-heroku-playwright repo and it works awesomely well with Playwright 0.9 but unfortunately it doesn't work with newer versions, i.e. 0.11 and 0.12.1. Currently this is a blocking me from deploying Playwright. I'm hoping to not need to revert back to Puppeteer. Any pointers would be greatly appreciated for deploying Playwright in the cloud, on Heroku or otherwise. The error I get is "Protocol error (Target.setDiscoverTargets): Target closed" cc @aslushnikov
|
@peter - the underlying buildpack being used is probably out of date. Specifically, this bit around system packages will need to be updated. The list of updated packages is available in our docker setup. Another option that can be explored is to move away from the buildpack and our docker image directly, since Heroku can work with docker directly. |
@arjun27 thanks, yeah, both of those suggestions make sense. I tried deploying to Heroku with your Dockerfile but couldn't immediately get that to work. I'm not clear on the interplay between Heroku and Docker and my Docker skills are limited in the first place. As far as the second approach of updating packages in the Buildpack I'm confused though. Your official Dockerfile for Playwright only lists three packages as Chromium dependencies (libnss3, libxss1, and libasound2) and they are all included in the Puppeteer buildpack. I don't need Firefox/Webkit for now, just trying to get Chromium to run. The only thing I see missing is nodejs 12, but I think have that covered in my app as I am using two buildpacks for my app:
|
@arjun27 an interesting point of reference is that my tests run just fine without customization on Travis and they appear to be using Ubuntu 14 (Trusty) whereas Heroku defaults to 18 (Bionic) but Ubuntu 16 is available as an alternative. Not sure if that is relevant here. Unfortunately Travis doesn't fit my use case as they can only schedule jobs to run once a day. |
@pavelfeldman I think this issue should be re-opened or should I create a New issue? Playwright not working on Heroku (even with Chromium) isnt really covered by the issues you reference, or at least that has to be verified if that is the case. |
This reverts commit a7ad683.
Today we are running pupeteer in Heroku by using this buildpack:
https://github.com/jontewks/puppeteer-heroku-buildpack
When trying to deploy with playwright with the trivial webkit example (the one described in this repo) I get the following error:
Certainly node_modules dependencies are installed otherwise the error would be different. Any ideas what would be missing?
I will keep debugging, but any hint might be useful.
The text was updated successfully, but these errors were encountered: