Commit graph

203 commits

Author SHA1 Message Date
Andrey Lushnikov 610067f61c
devops: fix chromium build with symbols (#8550) 2021-08-30 07:48:40 -07:00
github-actions[bot] 933f3f5f77
browser(chromium): roll to r916288 (#8547)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-30 04:49:39 -07:00
github-actions[bot] 1155ecf29a
browser(chromium): roll to r914909 (#8435)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-25 14:50:26 +02:00
github-actions[bot] 5814a4aab8
browser(chromium): roll to r914153 (#8363)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-24 12:46:54 +02:00
github-actions[bot] 1d48313e43
browser(chromium): roll to r912804 (#8341)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-20 12:46:26 +02:00
github-actions[bot] b89c7a0e09
browser(chromium): roll to r912034 (#8217)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-18 08:26:13 +02:00
github-actions[bot] ec418e1706
browser(chromium): roll to r911515 (#8180)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-08-13 08:28:45 -07:00
Andrey Lushnikov eda2ee5c2a
devops: disable dchecks when building chromium (#8067)
As of https://chromium-review.googlesource.com/c/chromium/src/+/3053740,
Chromium defaults to building with dchecks always on.

We don't want dchecks enabled in our builds so we must disable them
explicitly.

References #8052
2021-08-07 05:41:13 -07:00
Andrey Lushnikov b1b4d7b819
chore: quote all bash variables when used (#8066)
This way bash won't expand and post-process variable values in any way.
The changes are driven with
[`shellcheck`](https://github.com/koalaman/shellcheck)
2021-08-07 05:32:18 -07:00
Andrey Lushnikov 7caef6f09f
browser(chromium): attempt to do another build of Chromium (#8035)
Previous build of chromium was crashing in 10% of tests. We might've
picked up a bad revision to build, so trying to build a newer one.
2021-08-06 04:56:29 -07:00
Andrey Lushnikov 3757b59aa4
browser(chromium): build Chromium r906442 (#7962) 2021-08-03 03:28:38 -07:00
Andrey Lushnikov 64ef88999e
devops: fix chromium build script (#7669) 2021-07-16 02:36:49 -07:00
Andrey Lushnikov fc083dfc2e
browser(chromium): build Chromium r901522 (#7615) 2021-07-14 10:17:58 -07:00
Andrey Lushnikov 34777853f7
devops: enforce hard xcode version match for browser builds (#7591)
Browsers require particular xcode versions to be installed on the host
machine to produce successful build.

This patch starts using explicit xcode versions for all mac browser
builds.
2021-07-13 18:12:53 -07:00
Andrey Lushnikov 0d9cfd76c3
browser(chromium): roll Chromium to r895386 (#7287) 2021-06-23 18:55:29 -07:00
Andrey Lushnikov 331c431f5f
browser(chromium): roll Chromium to r891964 (#7162) 2021-06-15 18:19:35 -07:00
Andrey Lushnikov 312fd3ed4e
devops: fix reporting for chromium-with-symbols (#7159)
Chromium-with-symbols is the first time we produce a second set of
builds for the same browser.

This patch adds support for this usecase to report build progress
appropriately.
2021-06-15 16:01:11 -07:00
Andrey Lushnikov bb5da5061c
devops: support building chromium with symbols (#7131)
References #7130
2021-06-15 01:18:00 -07:00
Andrey Lushnikov 531d35f945
browser(chromium): revert swiftshader fixes (#6824)
References #6818, references #6390
2021-06-01 13:55:58 -07:00
Andrey Lushnikov 9b5bcba1d7
devops: fix goma to use new authentication (#6747) 2021-05-25 15:16:23 -07:00
Andrey Lushnikov f8981962bd
browser(chromium): build Chromium r885250 (#6687) 2021-05-20 15:20:42 -07:00
Andrey Lushnikov 4e979fd95e
browser(chromium): roll to latests Chromium (#6661) 2021-05-19 14:43:42 -07:00
Andrey Lushnikov 654446a757
devops: fix Chromium windows archiving logic (#6568)
Turns out MINGW environment doesn't support Python-for-Windows
through shebang. Call python explicitly.
2021-05-13 15:10:08 -07:00
Andrey Lushnikov 262824deb7
devops: fix chromium archiving with FILES.cfg (#6450)
- unset `IFS` variable so that it doesn't affect future script execution
- use `\n\r` separator on windows
- fix script to be Python2/Python3 compliant
2021-05-06 13:55:55 -07:00
Andrey Lushnikov fa7b5f3cd0
browser(chromium): roll Chromium to 879910 (#6441) 2021-05-06 10:53:20 -07:00
Andrey Lushnikov c7751b9fc3
devops: use chromium's FILES.cfg to compute archive files (#6438)
Since the include list of files to pack with Chromium changes
eventually, we should use their list instead of hardcoded one
on our side.
2021-05-06 10:36:33 -07:00
Andrey Lushnikov 5326f39021
browser(chromium): build 878941 that reverts shader changes (#6407) 2021-05-04 11:51:45 -07:00
Andrey Lushnikov fd4253991f
devops: fix swiftshader on Chromium Windows (#6391)
References #6390
2021-05-03 11:25:01 -07:00
Yury Semikhatsky 3b1bfdff48
devops(chromium): build a new Chromium 876873 (#6349) 2021-04-28 10:19:07 -07:00
Andrey Lushnikov 83758fa48c
devops: add swiftshader DLL to chromium archive (#6305) 2021-04-23 14:36:45 -07:00
Andrey Lushnikov 531bf4dc19
browser(chromium): roll Chromium to new Dev (#6283) 2021-04-22 17:38:53 -07:00
Andrey Lushnikov 111e55992e
devops: roll Chromium to r871980 (#6275)
NOTE: this is a non-dev revision. We roll to it to make sure
that swiftshader issues are fixed now.

See https://crbug.com/1200964
2021-04-22 15:03:48 -07:00
Andrey Lushnikov 59d1d2df2f
devops: add swiftshader file to Chromium builds (#6274)
See https://chromium-review.googlesource.com/c/chromium/src/+/2845811
2021-04-22 14:55:53 -07:00
Joel Einbinder ce0098d9eb
devops(chromium): build a new Chromium Dev 870763 (#6203) 2021-04-15 11:58:09 -07:00
Ross Wollman 957abc49e9
devops(chromium): build a new Chromium Dev 869727 (#6149) 2021-04-09 11:54:14 -07:00
Andrey Lushnikov 5a1974ccad
devops(chromium): build a new Chromium Dev 867878 (#6061) 2021-04-02 16:08:17 -07:00
Yury Semikhatsky 5872d0407a
browser(chromium): build current dev chromium (865012) (#5950) 2021-03-25 09:31:41 -07:00
Andrey Lushnikov 172de4082a
browser(chromium): build current dev chromium (#5911) 2021-03-22 17:38:28 -07:00
Andrey Lushnikov 8dc740570a
devops: refactor check_cdn.sh script (#5835)
Introduce `EXPECTED_BUILDS` list in each application folder and use
these lists when determining if all builds are ready.
2021-03-16 01:14:45 -07:00
Dmitry Gozman 5903e771da
browser(chromium): roll to 857950 (#5709) 2021-03-03 13:19:57 -08:00
Dmitry Gozman f2a3d21a75
browser(chromium): roll to 858453 (#5670) 2021-03-01 16:33:19 -08:00
Andrey Lushnikov f10d0a8a58
devops: do not create non-removable folders on windows (#5533)
This fixes a bug where the script was creating a folder with a new line
symbol in its name. As a result, Windows was failing to remove  this
folder, and Chromium Windows BuildBot was failing to even initialize
checkout.
2021-02-19 20:18:23 -08:00
Andrey Lushnikov c57f1fc390
devops(chromium): missing depot tools in prepare_checkout.sh script (#5525)
Make sure `prepare_checkout.sh` has depot_tools in its PATH.

Drive-by: enable goma compiler proxy auto-restart.
2021-02-19 14:23:09 -08:00
Andrey Lushnikov 7ed1d88567
browser(chromium): build Chromium Dev revision (#5522) 2021-02-19 13:10:50 -08:00
Andrey Lushnikov 8c18b90038
devops: refactor chromium automation scripts (#5486)
Split preparing checkout, archiving and compiling into separate
scripts similarly how we do it with other browsers.
2021-02-17 14:43:19 -08:00
Andrey Lushnikov 027f2ba9e1 devops: enable goma.sh debugging info 2021-02-16 09:34:26 -07:00
Andrey Lushnikov 2a40d8ec8e
devops: fix goma startup and shutdown (#5447)
Turns out goma scripts have to be called from goma directory.
2021-02-12 11:01:49 -08:00
Andrey Lushnikov 8500592326
devops: fix post-checkout cleanup on windows (#5438)
Turns out empty trailing space in array in bash results in a file
in windows that it fails to remove while during cleanup.
2021-02-12 01:48:11 -08:00
Andrey Lushnikov 539942c803 devops: empty commit to test internal tests 2021-02-12 02:21:39 -07:00
Andrey Lushnikov 2ac93f0a8b devops: another attempt to trigger internal tests (empty commit) 2021-02-12 02:07:22 -07:00
Andrey Lushnikov 17b792bcf5 devops: attempt to trigger internal tests (empty commit) 2021-02-12 02:05:45 -07:00
Andrey Lushnikov f2a31ad8c5
browser(chromium): build Chromium Dev revision as of Feb 12 (#5435) 2021-02-12 00:32:57 -08:00
Andrey Lushnikov 44ff8b518b
devops: fix win archiving logic (#5420)
One can't use "for-of" iteration over bash arrays if values
contain strings :(
2021-02-11 08:18:05 -08:00
Andrey Lushnikov 206432cefd devops: fix goma startup on windows 2021-02-09 11:00:53 -07:00
Andrey Lushnikov db633c4491 devops: fix args.gn syntax with goma 2021-02-09 10:11:03 -07:00
Andrey Lushnikov 32d62a5c2d
devops: fix goma path on windows (#5381)
Convert unix path to win path when running GOMA on windows.
2021-02-09 09:06:50 -08:00
Andrey Lushnikov 909544907c
devops: rename env variable (#5379)
goma searches for all `GOMA_*` env variables and fails if it doesn't
understand any.

To avoid this, rename our `GOMA_LOGIN_COOKIE` env variable into a
`PLAYWRIGHT_GOMA_LOGIN_COOKIE`.
2021-02-09 08:56:29 -08:00
Andrey Lushnikov d5a51a25b0
devops: fix chromium-win build (#5378)
- add missing build targets
- do not copy *.pdb files in folders
2021-02-09 08:49:59 -08:00
Andrey Lushnikov ad557dc6da
devops: introduce goma infrastructure for Chromium builds (#5377)
This patch adds `//browser_patches/chromium/goma.sh` script that
manages goma to build chromium.
2021-02-09 08:33:39 -08:00
Andrey Lushnikov 3c657cbae6
browser(chromium): roll to r851527 (#5348) 2021-02-08 01:03:30 -08:00
Andrey Lushnikov f3a5bba2c4
devops: infra to automate chromium builds (#5347) 2021-02-07 23:54:10 -08:00
Andrey Lushnikov 985dd5666f devops(chromium): fix chromium linux build 2021-02-03 07:35:29 -07:00
Andrey Lushnikov 7b5363198b
devops: fix chromium build on Intel MacBook (#5242) 2021-02-01 09:30:04 -08:00
Andrey Lushnikov 01bddcd171 devops(chromium): account for terminated / interrupted jobs 2021-01-28 13:15:23 +03:00
Andrey Lushnikov c9fae65400 devops: fix chromium checkout 2021-01-28 12:56:45 +03:00
Andrey Lushnikov 75a0d7a76b
devops(chromium): install depot_tools if missing (#5204) 2021-01-28 01:43:54 -08:00
Andrey Lushnikov a7eea9ffdc
browser(chromium): roll Chromium to r846621 (#5203)
This roll should test Chromium compilation for Mac x86_64 and Linux.
2021-01-28 01:19:00 -08:00
Andrey Lushnikov 51d90c593b
devops: support Chromium mac compilation (#5202) 2021-01-28 01:14:44 -08:00
Andrey Lushnikov b323018881
devops: fetch chromium checkout if it has not been before (#5169)
Checkouts should reside outside of gihtub action working directory
so will be reused between builds.
2021-01-28 00:20:19 -08:00
Andrey Lushnikov 90bc837e55
devops: start compiling Chromium on Linux (#5166) 2021-01-27 08:42:35 -08:00
Andrey Lushnikov b88afe5877
devops: fix chromium for arm build (#5117) 2021-01-23 02:23:59 +03:00
Andrey Lushnikov 546454095e
devops: attempt to fix chromium-mac-arm64 build (#5107)
It looks like gn generation should use correct xcode version as well.
2021-01-22 15:47:24 +03:00
Andrey Lushnikov 2096f4248a
devops: fix chromium compilation step (#5102) 2021-01-22 11:31:26 +03:00
Andrey Lushnikov ff75073cc8
devops: automation to compile chromium for mac arm64 (#5101)
References #5067
2021-01-22 11:27:40 +03:00
Dmitry Gozman a7d33b2fec
browser(chromium): roll to 845618 (#5094) 2021-01-21 17:23:19 -08:00
Dmitry Gozman d05c091768
chore: roll chromium to 844399 (#5043) 2021-01-17 12:25:39 -08:00
Pavel Feldman 19b58d47b1
chore: bump chromium to r843427 (#5022) 2021-01-14 15:37:09 -08:00
Joel Einbinder 75198f044d
browser(chromium): bump to r839741 (#4857)
References #4851
2020-12-30 09:36:14 -08:00
Dmitry Gozman e8dcd8767f
browser(chromium): build 833159 (#4623) 2020-12-07 10:58:07 -08:00
Pavel Feldman 95aab3b29d
browser(chromium): prepare r828656 (#4499) 2020-11-19 12:44:05 -08:00
Pavel Feldman fc0388813e
browser(chromium): pick 827102 for roll (#4460) 2020-11-16 16:43:37 -08:00
Dmitry Gozman 2f73a45e63
browser(chromium): roll to 827767 (#4452) 2020-11-16 12:43:56 -08:00
Pavel Feldman d3135871e5
browser(chromium): fetch r825625 (#4406) 2020-11-11 12:45:01 -08:00
Andrey Lushnikov 5dc632b82e
chore: mirror Chromium 823944 to our cdn (#4339)
References #4021
2020-11-04 09:44:30 -08:00
Dmitry Gozman 1255289098
browser(chromium): roll to 823078 (#4307) 2020-11-02 13:00:38 -08:00
Joel Einbinder e2f77455dd
browser(chromium): roll to 815036 (#4098) 2020-10-08 22:03:39 -07:00
Dmitry Gozman a7beaf657c
browser(chromium): roll to 813607 (#4052) 2020-10-05 04:23:35 -07:00
Pavel Feldman 731560ccbc
browser(chromium): roll to v808777 (#3941) 2020-09-21 14:40:26 -07:00
Andrey Lushnikov b8d7f398b8
browser(chromium): mirror Chromium r799411 to Azure (#3808) 2020-09-08 17:19:14 -07:00
Andrey Lushnikov 638c77c8e2
devops: stop bundling FFMPEG with Chromium (#3806)
- This stops bundling FFMPEG with Chromium
- Stop supporting build numbers as fractional parts for Chromium
revisions
2020-09-08 17:05:21 -07:00
Andrey Lushnikov bcb4944f1b
devops: auto-detect platform in //browser_patches/chromium/build.sh (#3772)
If there's no platform specified for the chromium build, we should
detect the host platform.

This will make it pleasant to verify Chromium rolls locally.
Assuming there's a `CR` env variable pointing to the local chromium,
rolling would look like this:

- bump a revision in `//browser_patches/chromium/BUILD_NUMBER`
- run `//browser_patches/chromium/build.sh`
- run tests with pulled chromium: `CRPATH=$CR npm run ctest`
2020-09-04 04:23:13 -07:00
Andrey Lushnikov f09145e504 chore: fix typo in build script 2020-09-04 03:16:46 -07:00
Andrey Lushnikov 3cb3c650df
chore: build Chromium version with ffmpeg (#3770) 2020-09-04 03:14:29 -07:00
Andrey Lushnikov a755d100b3
devops: encode build number together with Chromium revision (#3769)
This is an alternative approach to #3698 that was setting up a custom
mapping between chromium revisions and our mirrored builds. For example, we were
taking chromium `792639` and re-packaging it to our CDN as Chromium 1000.

One big downside of this opaque mapping was inability to quickly
understand which Chromium is mirrored to CDN.

To solve this, this patch starts treating browser revision as a fractional number,
with and integer part being a chromium revision, and fractional
part being our build number. For example, we can generate builds `792639`, `792639.1`,
`792639.2` etc, all of which will pick Chromium `792639` and re-package it to our CDN.

In the Playwright code itself, there are a handful of places that treat
browser revision as integer, exclusively to compare revision with some particular
revision numbers. This code would still work as-is, but I changed these places
to use `parseFloat` instead of `parseInt` for correctness.
2020-09-04 03:12:30 -07:00
Andrey Lushnikov dfc0006b3b
devops: bundle ffmpeg with chromium (#3767)
This starts bundling FFMPEG v4.3.1 binary with Chromium archives on the
following platforms:
- chromium-mac
- chromium-win32
- chromium-win64

This specifically doesn't bundle FFMPEG with chromium-linux since we decided to use native ffmpeg on Linux instead. 

FFMPEG binaries are compiled following these instructions:
- windows: https://gist.github.com/aslushnikov/422f1e1a57796a476bf73ebe04f2e5ac
- mac: https://gist.github.com/aslushnikov/abf71be5a0b12c33b320044785fcb3bc

Our versions of FFMPEG are ~2MB zipped.

References #3680
2020-09-04 02:18:36 -07:00
Andrey Lushnikov fa8de99611
Revert "devops: revision Chromium repackaged builds separately (#3698)" (#3763)
This reverts commit fcc1680f98.
2020-09-04 00:43:12 -07:00
Andrey Lushnikov fcc1680f98
devops: revision Chromium repackaged builds separately (#3698)
Currently, we mirror Chromium revisions from gbuckets to our cdn and
name them same way as Chromium revision.

However, with the upcoming bundling of FFMPEG, we'd like to revision
Chromium packages separately, since our Chromium package will depend from
a number of factors:
- chromium upstream revision
- ffmpeg version
- extra files to add to the package or remove from the package

We should be able to produce a new Chromium build once any of these changes.

With this patch, to roll Chromium browser:
- update chromium revision number in the
`//browser_patches/chromium/UPSTREAM_CONFIG.sh`
- bump the build number in the `//browser_patches/chromium/BUILD_NUMBER`

Reference #3680
2020-08-31 10:44:33 -07:00
Pavel Feldman a0bd8def74
browser(chromium): package r799610 (#3624) 2020-08-25 13:14:31 -07:00
Pavel Feldman c25dfba878
infra: pull chromium 801321 (#3620) 2020-08-25 08:16:03 -07:00
Andrey Lushnikov f2088e068a
devops: fix Chromium repackaging to respect symlinks (#3424) 2020-08-12 18:29:37 -07:00
Andrey Lushnikov 884cef734e
browser(chromium): roll Chromium to r796653 (#3419) 2020-08-12 14:59:12 -07:00
Andrey Lushnikov 8f30d15aca
devops: re-packge chromium on windows without interactive_ui_tests.exe (#3375)
This reduces archive size from 145MB to 97MB.

Fixes #3259
2020-08-10 15:00:37 -07:00
Andrey Lushnikov 2a0cbda8bc
devops: mirror chromium builds to our CDN (#3357)
Start mirroring chromium builds to our CDN.

References #3259
2020-08-07 16:22:05 -07:00