Skip to content

Chore/bump chromium webgl+kerberos - #42751

Merged
joelgriffith merged 32 commits into
elastic:masterfrom
joelgriffith:chore/bump-chromium-webgl-kerberos
Aug 27, 2019
Merged

joelgriffith merged 32 commits into
elastic:masterfrom
joelgriffith:chore/bump-chromium-webgl-kerberos

Conversation

@joelgriffith

@joelgriffith joelgriffith commented Aug 6, 2019 •

Copy link
Copy Markdown
Contributor

Once chromium is built and SHA's generated I'll push them to our S3 bucket, but for now this includes updates to our typedefs (yaaa removing @ts-ignore), and uses a better @types package. I had to write a small wrapper around puppeteer to get the right module "binded" to the right types.

TODO:

  • Update puppeteer and fix puppeteer-core types.
  • Puppeteer@1.19.0.
  • Linux build.
  • Mac build.
  • Windows build.
  • Ensure maps are rendering
  • Upload binaries and SHA's to S3.
  • Add the above path's and SHA checksums into this PR.

@joelgriffith
joelgriffith requested a review from tsullivan August 6, 2019 17:37
@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@tsullivan tsullivan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a suggestion to do without the new puppeteer.ts file.

The maps app changes should be approved by someone in the Maps team.

import { map, share, mergeMap, filter, partition, ignoreElements, tap } from 'rxjs/operators';
import { InnerSubscriber } from 'rxjs/internal/InnerSubscriber';

import { launch, Browser, Page } from '../puppeteer';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also do

import { Browser, Page, LaunchOptions } from 'puppeteer';

And when we call launch we can do:

        browser = await launch({
          pipe: !this.browserConfig.inspect,
          userDataDir,
          executablePath: this.binaryPath,
          ignoreHTTPSErrors: true,
          args: chromiumArgs,
          env: {
            TZ: browserTimezone,
          },
        } as LaunchOptions);

That will ensure that we are doing a good job at building the object literal that gets passed. We wouldn't need the puppeteer file, but on the other hand, the launch method would not be typed quite as well as you have it.

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@joelgriffith

Copy link
Copy Markdown
Contributor Author

Looks like the linux build didn't zip properly, going to fix that and re-upload the binary to S3

@elasticmachine

Copy link
Copy Markdown
Contributor

💔 Build Failed

@joelgriffith
joelgriffith requested a review from nreese August 26, 2019 21:11
@nreese

nreese commented Aug 26, 2019

Copy link
Copy Markdown
Contributor

Does GisMap component still need to set data-render-complete attribute now that CustomEvent(RENDER_COMPLETE_EVENT) is getting triggered?

@joelgriffith

joelgriffith commented Aug 26, 2019 •

Copy link
Copy Markdown
Contributor Author

No, I'll remove that attribute @nreese, good catch

EDIT: They are still required, sadly.

@tsullivan
tsullivan self-requested a review August 26, 2019 22:29
archive_file('Helpers/chrome_crashpad_handler')
archive_file('libswiftshader_libEGL.dylib')
archive_file('libswiftshader_libGLESv2.dylib')
archive_file(path.join('Helpers', 'chrome_crashpad_handler'))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is existing, but stands out a little, and I'm wondering why we have it in the Darwin build

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll have to look again. The binary fails to start wo it, however I'm not sure as to why

@elasticmachine

Copy link
Copy Markdown
Contributor

💚 Build Succeeded

* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { Browser } from 'puppeteer';

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is essentially the same as the previous code, just an indirect version

@tsullivan tsullivan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just have 1 picky point about how role of the new puppeteer file. I think it could be focused on exporting a typed launch function

@elasticmachine

Copy link
Copy Markdown
Contributor

💚 Build Succeeded

@tsullivan
tsullivan self-requested a review August 27, 2019 16:30

@tsullivan tsullivan left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Reviewed the non-Maps part of the code changes.

@elasticmachine

Copy link
Copy Markdown
Contributor

💚 Build Succeeded

@joelgriffith
joelgriffith merged commit 8b55ff6 into elastic:master Aug 27, 2019
joelgriffith pushed a commit that referenced this pull request Aug 28, 2019
* 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

* Type fix from merge conflict
@alexfrancoeur

Copy link
Copy Markdown

🍾 🍾 🍾 🍾

patrykkopycinski pushed a commit to patrykkopycinski/kibana that referenced this pull request May 6, 2026
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release_note:enhancement v7.4.0 v8.0.0 zDeprecated Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants