Commit graph

26 commits

Author SHA1 Message Date
Eyo O. Eyo
5d85f655b0
Puppeteer update v21.5.2 (#172332)
## Summary

This PR updates puppeteer to v21.5.2. 

Also the hashing Algorithm for verifying the accompanying chromium
binaries required for chromium has been switched from md5 to sha1, to be
FIPS compliant.

<!-- 
### Checklist

Delete any items that are not applicable to this PR.

- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)


### Risk Matrix

Delete this section if it is not applicable to this PR.

Before closing this PR, invite QA, stakeholders, and other developers to
identify risks that should be tested prior to the change/feature
release.

When forming the risk matrix, consider some of the following examples
and how they may potentially impact the change:

| Risk | Probability | Severity | Mitigation/Notes |

|---------------------------|-------------|----------|-------------------------|
| Multiple Spaces&mdash;unexpected behavior in non-default Kibana Space.
| Low | High | Integration tests will verify that all features are still
supported in non-default Kibana Space and when user switches between
spaces. |
| Multiple nodes&mdash;Elasticsearch polling might have race conditions
when multiple Kibana nodes are polling for the same tasks. | High | Low
| Tasks are idempotent, so executing them multiple times will not result
in logical error, but will degrade performance. To test for this case we
add plenty of unit tests around this logic and document manual testing
procedure. |
| Code should gracefully handle cases when feature X or plugin Y are
disabled. | Medium | High | Unit tests will verify that any feature flag
or plugin combination still results in our service operational. |
| [See more potential risk
examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) |


### For maintainers

- [ ] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)
-->
2023-12-05 16:45:51 +01:00
Rachel Shen
5c72df1d47
Reporting Puppeteer update v21.3.5 (#167554)
## Summary

Update the chromium version to 21.3.5 



### Checklist

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
(tested locally on arm64 and win surface laptop locally)
2023-10-03 15:55:52 -07:00
Tim Sullivan
89a8ab858e
[Reporting/Screenshotting] upgrade Puppeteer dependency to v20.1.0 (#156766)
## Summary

Upgrades the dependency for capturing screenshots with Chromium to
[Puppeteer
v20.1.0](https://github.com/puppeteer/puppeteer/releases/tag/puppeteer-v20.1.0)

We're using publicly available Chromium downloads for Windows and Mac.
For Linux, we create a custom build that doesn't have dependencies on
X11 shared libraries.

**Versions:**
* Linux: **113.0.5672.63**
* Windows: **113.0.5672.0**
* Darwin x64: **113.0.5672.0**
* Darwin arm64: **113.0.5672.0**

### Checklist

Delete any items that are not applicable to this PR.
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [x] Verified in Cloud deployment

### For maintainers

- [x] This was checked for breaking API changes and was [labeled
appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process)

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2023-05-08 14:11:27 -07:00
Rachel Shen
eee78fc58c
[Reporting][Docs] update readme with testing on windows information (#154074)
## Summary

Adding information for the future for people who need to test reporting
on a Windows machine
2023-04-03 09:35:41 -04:00
Tim Sullivan
53d07a2283
Puppeteer v18.1 (#143485)
* use build options for smaller build

* update to puppeteer@18.1.0

* increase timeouts

- reporting.queue.timeout: 4m
- screenshotting.timeouts.openUrl: 1m
- screenshotting.timeouts.waitForElements: 1m
- screenshotting.timeouts.renderComplete: 2m

* update docs and refs for timeouts

* add arm64 info

* fix binaryChecksum for linux_x64

* restore comment?

* Build script changes from #143022
2022-10-19 13:52:33 -07:00
Jean-Louis Leysens
fbe96dea49
updated chromium build scripts to include libGL* where chromium binary expects them and add en-US.pak - needed for printing PDFs (#131600)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-05-11 17:16:12 +02:00
Tim Sullivan
4ba843c267
[Screenshotting] Darwin downloads Chromium at startup, add ARM support for Darwin (#122057)
* update puppeteer

* [Reporting] Use downloadable chromium build for the Mac OS headless browser

* fix test

* [Screenshotting] add new paths for mac browsers

* add bundled field to chromium download paths interface

* update build scripts

* polish

* log when skip

* stop downloading all packages every time

* pass the PackageInfo object to the install function

* remove eslint-disable-line

* fix call to getBinaryPath

* polish

* simplify plugin.ts

* fix unit test

* fix lint

* tweak gulp task to explicitly download chromium for all platforms

* ignore chromium when copying x-pack source

* simplify

* update documentation with steps to manually download chromium

* Apply Documentation suggestions from code review

Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>

* update docs to cut redundancy

* clean up link to manual browser download

* wording choice adjustment

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: gchaps <33642766+gchaps@users.noreply.github.com>
2022-01-05 21:44:29 -07:00
Tim Sullivan
e3f4107d90
[Reporting] Upgrade Puppeteer dependency to 10.2.0 (#115682)
* [Reporting] Upgrade Puppeteer dependency to 10.2.0

* Update x-pack/plugins/reporting/server/browsers/chromium/paths.ts

* self-edit

* Apply suggestions from code review

Co-authored-by: Michael Dokolin <dokmic@gmail.com>

* fix lint

Co-authored-by: Michael Dokolin <dokmic@gmail.com>
2021-10-20 21:22:44 +01:00
Tim Sullivan
55f2efcedf
Reporting/Chromium: restore Mac build scripts (#101238)
* Reporting/Chromium: restore Mac build scripts

* fix accuracy of the readme

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-06-04 12:34:29 -07:00
Tim Sullivan
f73da420ff
[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 <jloleysens@gmail.com>

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Jean-Louis Leysens <jloleysens@gmail.com>
2021-05-07 09:54:33 -07:00
Tim Sullivan
832d3b7ffd
[Reporting] code cleanup for reporting browser build/install/setup utilities (#98799)
* [Reporting] code cleanup for reporting browser setup utilities

* fix target_cpu

* Update README.md

* Update README.md

* add note about target_cpu

* Update paths.ts

* more cleanup

* Update src/dev/chromium_version.ts

Co-authored-by: Michael Dokolin <dokmic@gmail.com>

* remove bug

Co-authored-by: Michael Dokolin <dokmic@gmail.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-04-30 19:25:19 -04:00
Tim Sullivan
f9c4c01759
[Reporting/Build Chromium] Add a developer script to find the Chromium commit (#94033)
* script that finds the chromium commit

* use run from dev-utils

* update docs and inch towards build pipeline

* more docs updates

* move the scripts the root

* review feedback
2021-03-10 10:57:29 -07:00
Michael Paul
426d495299
Fix "to to" spelling error (#93885)
* Fix "to to" spelling error

* Build API docs

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-03-10 17:46:31 +02:00
Tim Sullivan
df913b47be
Update build_chromium README (#89762)
* Update build_chromium README

* more edits

* Update init.py
2021-01-29 14:06:14 -07:00
Tim Sullivan
46c9e64278
Update README.md 2021-01-28 19:19:31 -07:00
Tim Sullivan
da6501973f
Update README.md 2021-01-28 16:33:21 -07:00
Tim Sullivan
e699d91b2c
[Build Chromium] Improve git checkout (#83225)
* [Build Chromium] Document steps for local build, improve checkout

commit e817796d107d554504870cdb8e6dd10db1079a1e
Merge: 19e6b300260 61b4e052fdd
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Thu Nov 12 13:25:09 2020 -0700

    Merge branch 'chore/build_chromium/improvements' of github.com:tsullivan/kibana into chore/build_chromium/improvements

commit 19e6b300260822418cea4dc594bdfdf621a331e0
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Thu Nov 12 13:23:01 2020 -0700

    fixes

commit 9de24ec298792a46e88207f41c9f6aff1997dbf1
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Thu Nov 12 13:22:52 2020 -0700

    add instructions to build local

commit 872c0f68e0077ad50c541b605a87253befd1a891
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Thu Nov 12 11:58:25 2020 -0700

    simplify

commit 8dae9484efcdc483ad20ceab32cae4e97735ab1c
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Thu Nov 12 10:28:18 2020 -0700

    fixes

commit 492f5cfe25e2c7ccffce55a8733383a30aae1cb6
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Wed Nov 11 20:15:43 2020 -0700

    --wip-- [skip ci]

commit acba359b121f7be8e6c353f90e938bc5d88658a1
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Wed Nov 11 15:47:50 2020 -0700

    [Build Chromium] Improve git checkout

commit 61b4e052fdd04456fe23956ad8ce99c8e771c01e
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Wed Nov 11 20:15:43 2020 -0700

    --wip-- [skip ci]

commit 58300c9deeca15cce838b3956c55c2994f99f530
Author: Timothy Sullivan <tsullivan@elastic.co>
Date:   Wed Nov 11 15:47:50 2020 -0700

    [Build Chromium] Improve git checkout

* Apply suggestions from code review

Co-authored-by: Joel Griffith <joel@joelgriffith.net>

Co-authored-by: Joel Griffith <joel@joelgriffith.net>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2020-12-29 09:54:19 -07:00
Tyler Smalley
afe785b43a
[build] Creates Linux aarch64 archive (#69165)
- Updates Linux Chromium builds to accept architecture argument (defaults to x64) for arm64 support.
  - Example: `python ~/chromium/build_chromium/build.py 312d84c8ce62810976feda0d3457108a6dfff9e6 arm64`
- Updates all Chromium builds to include architecture in filename. 
  - `chromium-312d84c-linux_arm64.zip` _(new)_
  - `chromium-312d84c-linux.zip` > `chromium-312d84c-linux_x64.zip`
- Moves Chromium install from data directory to `x-pack/plugins/reporting/chromium`
- Moves Chromium download cache from `x-pack/plugins/reporting/.chromium` to `.chromium`
- Installs Chromium during build (closes #53664)
- Updates build to be architecture aware (x64 and aarch64)
- Removed Chromium debug logs, they were not helpful and can not be written inside the Kibana root. If we were to keep them, we would need to write to `logging.dist`.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2020-07-09 19:42:48 -07:00
Tim Sullivan
2f67cbfa9c
[Reporting] Move code out of Legacy (#67904)
* [Reporting] Move code out of Legacy

* Elasticsearch is not a plugin dep

* add data as plugin dependo

* diff cleanup 1

* log the browser download

* Update paths in outside code for new Reporting home

* fix download test

* add numeral typing for x-pack/test

* Fix jest tests for np migration

* Shorten import paths

* remove this file, add typings to the node module

* remove local typing that has been provided by node module

* Add optional security plugin dep

* revert conflicting apm typings removal

* fix i18n

* fix snakecase whitelist

Co-authored-by: Joel Griffith <joel.griffith@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2020-06-03 15:40:56 -07:00
Joel Griffith
ebbfb4f680
Fix rawChecksums in chromium build and rename for clarity (#44665)
* Fix rawChecksums in chromium build and rename for clarity

* Update rawChecksum => binaryChecksum in chromium build docs

* Move over to Google Storage vs AWS

* Revert "Move over to Google Storage vs AWS"

This reverts commit 4781f9bdff.
2019-09-03 12:49:07 -07:00
Joel Griffith
8b55ff62f1
Chore/bump chromium webgl+kerberos (#42751)
* WIP: Adding libs for webgl

* WIP Adding swiftshader libs to chromium

* WIP: Adding missing binaries for webgl in chromium

* Use pipes for communication with chrome to avoid networking snafus

* Bumps puppeteer in prep for new chromium build + types and better @types package

* Remove ignore

* Removing of final @ts-ignore now that we have types

* README updates

* Fixing binding issues

* Fixing maps integration wrt reporting + conditional pipes for puppeteer

* Adding new deps to the windows build

* New s3 builds

* Checksums for updated linux build

* Moving types out of puppeteer file and into core puppeteer module

* launch => puppeteerLaunch

* Maps comment about render loading in reporting

* Clarify how reporting uses hooks and events for viz
2019-08-27 12:55:57 -07:00
Court Ewing
2d171c92f5 Fix path references into and out of x-pack/legacy 2019-06-20 13:34:48 -04:00
Aleh Zasypkin
7f3f579894
Make Kerberos authentication provider to accept requests with Authorization: Bearer xxx header to support reporting use case. Disable Kerberos support for the Windows Chromium build. (#38796) 2019-06-14 18:54:44 +02:00
Joel Griffith
71b1123408
Chore/update headless shell to pptr@1.13.0 (#33272) 2019-03-18 10:30:27 -07:00
Chris Davies
22aa6caba4
Convert Chromium reports to puppeteer (#21788)
Update Chromium to a recent version compatible with Puppeteer.

Update Chromium build scripts to initialize build environments and work with
recent versions of Chromium.

Modify Chromium reporting logic to be driven mostly by Puppeteer.
2018-08-29 20:16:06 -04:00
Jenkins CI
fe4609647d Migrate x-pack-kibana source to kibana 2018-04-24 13:48:10 -07:00