-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
[Reporting] Update Puppeteer to version 8.0.0 and Chromium to r856583 #98688
[Reporting] Update Puppeteer to version 8.0.0 and Chromium to r856583 #98688
Conversation
2b4d541
to
f36ca90
Compare
Pushing the new build to the GCS bucket caused existing builds to fail so I'm going to revert the update now. |
We need to plan for how we're going to rotate these correctly |
This was due to running the test script to build our current/master version of Chromium, while hitting problems trying to build the next version. The test script passed the build but unfortunately auto-uploaded the .zip file to our GCS bucket. It should have been a dry run. Sorry about that!! |
Due to some issues getting the version of chromium to compile for the 7.1.0 version of Puppeteer, I am experimenting to bumping to 8.0.0 |
38c7942
to
88b4cd8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great to see this being upgraded - Thank you! 💪 Just did a drive-by review - I hope you don't mind 😊
x-pack/plugins/reporting/server/browsers/chromium/driver_factory/index.ts
Outdated
Show resolved
Hide resolved
fd48eb5
to
d98aed0
Compare
d98aed0
to
715601c
Compare
Pinging @elastic/kibana-reporting-services (Team:Reporting Services) |
Pinging @elastic/kibana-app-services (Team:AppServices) |
5f8615c
to
1defd02
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kibana-qa changes LGTM
I have found some issues in the Puppeteer repo that could require investigation for this PR:
I will update here after taking more look. |
I ran tests in VMs that have different memory size to track the size of PNG report I was able to create:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested this locally on macOS and it worked as expected.
Code changes LGTM, left a few nits.
Now just pending a final check on Windows.
|
||
In the case of Windows, you can use IE to open `http://localhost:9221` and see if the page loads. In mac/linux you can just curl the JSON endpoints: `curl http://localhost:9221/json/list`. | ||
- Make sure the Reporting plugin is fetching the correct version of the browser |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How best can we determine what the correct version is?
On macOS I could do the following:
./ze-path/Chromium --version
Chromium 90.0.4427.0
How do we determine this number is correct or does puppeteer working tell us it is the correct version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a very good question. I think the only way this could work on all platforms is to do something like this:
x-pack/plugins/reporting/chromium/<platform_path>/<binary path> --headless --repl
and then type: navigator.appVersion
into the REPL.
Seems like this should be an easier one-liner, or something that is handled by our helper script: src/dev-tools/chromium_version.ts
@elasticmachine merge upstream |
@elasticmachine merge upstream |
Co-authored-by: Jean-Louis Leysens <[email protected]>
💚 Build SucceededMetrics [docs]
History
To update your PR or re-run it, just comment with: |
…elastic#98688) * Update Puppeteer to 8.0.0 Updates Chromium to r856583 Links to new build of Linux headless_shell in the Kibana team GCS bucket Links to main download site of Chromium for Mac and Windows Removes Mac and Windows compatibility from the Chromium build scripts * add functional tests for large dashboard * ensure png comparison is working * add test for large dashboard pdf * update arm64 binary checksum * update README * more readme update * Update x-pack/build_chromium/README.md Co-authored-by: Jean-Louis Leysens <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Jean-Louis Leysens <[email protected]> # Conflicts: # x-pack/test/functional/es_archives/reporting/ecommerce_kibana/data.json
Looks like this PR has a backport PR but it still hasn't been merged. Please merge it ASAP to keep the branches relatively in sync. |
…856583 (#98688) (#99577) * [Reporting] Update Puppeteer to version 8.0.0 and Chromium to r856583 (#98688) * Update Puppeteer to 8.0.0 Updates Chromium to r856583 Links to new build of Linux headless_shell in the Kibana team GCS bucket Links to main download site of Chromium for Mac and Windows Removes Mac and Windows compatibility from the Chromium build scripts * add functional tests for large dashboard * ensure png comparison is working * add test for large dashboard pdf * update arm64 binary checksum * update README * more readme update * Update x-pack/build_chromium/README.md Co-authored-by: Jean-Louis Leysens <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Jean-Louis Leysens <[email protected]> # Conflicts: # x-pack/test/functional/es_archives/reporting/ecommerce_kibana/data.json * fix ts
…r856583 (elastic#98688) (elastic#99577) * [Reporting] Update Puppeteer to version 8.0.0 and Chromium to r856583 (elastic#98688) * Update Puppeteer to 8.0.0 Updates Chromium to r856583 Links to new build of Linux headless_shell in the Kibana team GCS bucket Links to main download site of Chromium for Mac and Windows Removes Mac and Windows compatibility from the Chromium build scripts * add functional tests for large dashboard * ensure png comparison is working * add test for large dashboard pdf * update arm64 binary checksum * update README * more readme update * Update x-pack/build_chromium/README.md Co-authored-by: Jean-Louis Leysens <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Jean-Louis Leysens <[email protected]> * fix ts
…r856583 (#98688) (#99577) (#99853) * [Reporting] Update Puppeteer to version 8.0.0 and Chromium to r856583 (#98688) * Update Puppeteer to 8.0.0 Updates Chromium to r856583 Links to new build of Linux headless_shell in the Kibana team GCS bucket Links to main download site of Chromium for Mac and Windows Removes Mac and Windows compatibility from the Chromium build scripts * add functional tests for large dashboard * ensure png comparison is working * add test for large dashboard pdf * update arm64 binary checksum * update README * more readme update * Update x-pack/build_chromium/README.md Co-authored-by: Jean-Louis Leysens <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Jean-Louis Leysens <[email protected]> * fix ts
This PR was backported to 7.13 |
Implements #90496
Closes #89555
Closes #89467
Closes #87956
Release note: Updated the headless browser for Kibana Reporting to Chromium r856583 (90.0.4427.0)
Version information for r856583:
https://storage.googleapis.com/chromium-find-releases-static/d16.html#d163fd7c6905e456501aba914a24c20b62b4c6dc
Explanation of headless_shell:
https://chromium.googlesource.com/chromium/src/+/d163fd7c6905e456501aba914a24c20b62b4c6dc/headless/#usage-as-a-c_library
How to test this PR
These steps need to happen for every platform: Mac, Windows, Linux x64 and Linux arm64
x-pack/plugins/reporting/chromium
Metrics
Build size changes, before and after:
Checklist
sudo apt install -y libnss3 fonts-liberation libfontconfig1