Skip to content
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

RUN-1310: Assert PortLocker::PortLocker, Histogram::Factory::Build #152

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
864 commits
Select commit Hold shift + click to select a range
b2692e1
Implement several basic DOM commands and `jsGetObjectIdForAnyObject` …
Domiii Dec 5, 2022
beecca5
Force created text nodes to match when replaying (#256)
bhackett1024 Dec 5, 2022
c952742
Add assertions when changing observers (#257)
bhackett1024 Dec 5, 2022
7c5ced4
Fix build errors.
kannanvijayan Dec 6, 2022
aeae841
Merge pull request #260 from replayio/kannan/fix-build-errors
kannanvijayan Dec 6, 2022
b28a02b
RUN-861 - `Pause.getObjectPreview` and fix `ObjectId` (#258)
Domiii Dec 7, 2022
c58fefd
RUN-863: Basic DOM `Elements` panel (#265)
Domiii Dec 7, 2022
43a42bc
Avoid recording assertions when events are disallowed (#259)
bhackett1024 Dec 7, 2022
645354b
Improve assertions around OnPendingTasksChanged notifications (#261)
bhackett1024 Dec 7, 2022
cd07fa0
Don't interact with the recording while pruning memory caches (#262)
bhackett1024 Dec 7, 2022
001052f
Assert lengths of strings in mojo console messages (#263)
bhackett1024 Dec 7, 2022
08ae3e0
Force serialized script value lengths to match when replaying (#264)
bhackett1024 Dec 7, 2022
9b5beb3
Add assertions when initializing window proxy (#266)
bhackett1024 Dec 7, 2022
d86aee6
Add assertions when receiving image data (#267)
bhackett1024 Dec 7, 2022
b3846d7
Add assertions when adding child rules (#268)
bhackett1024 Dec 7, 2022
0469565
Use ordered mutex in ThreadSafeScriptContainer (#269)
bhackett1024 Dec 7, 2022
abb2eea
Add assertions for IDB transaction IDs (#270)
bhackett1024 Dec 7, 2022
c88a1ea
fixes
bhackett1024 Dec 7, 2022
3629b12
bump version
bhackett1024 Dec 7, 2022
3b023f9
Add network request data support.
kannanvijayan Dec 8, 2022
fd05fa0
Merge pull request #271 from replayio/kannan/run-721-chromium-netmoni…
kannanvijayan Dec 8, 2022
68b3eb9
Specify chromium subrepository revisions explicitly (#272)
bhackett1024 Dec 8, 2022
61baa69
Merge branch 'master' into merge
bhackett1024 Dec 8, 2022
63f4f45
Fix build breaks
bhackett1024 Dec 10, 2022
7941f88
Fix build break
bhackett1024 Dec 10, 2022
e3ac68c
Fixes for building on macOS
bhackett1024 Dec 10, 2022
997da76
Update subrepository revisions
bhackett1024 Dec 10, 2022
509dd1e
Disable getaddrinfo override
bhackett1024 Dec 11, 2022
ade5ac9
Include spawned executable in error message
bhackett1024 Dec 11, 2022
71e3b6c
hotfix for getObjectPreview (refactoring error) (#274)
Domiii Dec 12, 2022
d367fdc
Update files that need to be copied for build to run
bhackett1024 Dec 12, 2022
d7b83c0
Always disallow events when notifying observers about destroyed conte…
bhackett1024 Dec 12, 2022
c98c173
Move recording assertion (#275)
bhackett1024 Dec 12, 2022
0a7cc91
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 12, 2022
4e2f9a0
Merge branch 'merge' of github.com:replayio/chromium into merge
bhackett1024 Dec 12, 2022
43be24d
Set renderers array in react devtools hook, fix build break (#276)
bhackett1024 Dec 12, 2022
1a4c11f
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 12, 2022
6a0485c
Tolerate WatcherDispatcher being created when events are disallowed (…
bhackett1024 Dec 13, 2022
efbaa77
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 13, 2022
0458a0e
add check
bhackett1024 Dec 13, 2022
d3b87ca
Notify consistent observers when replaying (#278)
bhackett1024 Dec 14, 2022
79c52d5
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 14, 2022
bf7f001
bump version
bhackett1024 Dec 14, 2022
068182f
Fix build break
bhackett1024 Dec 14, 2022
38edc4c
Fix build break
bhackett1024 Dec 14, 2022
901ac78
Fix build break
bhackett1024 Dec 14, 2022
7c2f6e3
Make React global hook writeable
markerikson Dec 13, 2022
7c5c9b4
Save React renderers for later
markerikson Dec 14, 2022
f7d2b15
Avoid using thread_local g_thread_cache
bhackett1024 Dec 14, 2022
ab6fa67
Disable thread_local variable
bhackett1024 Dec 15, 2022
e84467a
Exclude DEPS files from requiring PR approval (#279)
jazzdan Dec 15, 2022
145925f
update deps
bhackett1024 Dec 15, 2022
3ea288e
update deps
bhackett1024 Dec 15, 2022
9716fe8
Allow specifying number of tests to run in build/test branch action (…
bhackett1024 Dec 15, 2022
9063a6b
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 15, 2022
6bf65f3
update deps
bhackett1024 Dec 15, 2022
4cdc6e3
Disallow events in a couple places in abseil library
bhackett1024 Dec 15, 2022
31e713f
Disable file descriptor ownership tracking
bhackett1024 Dec 15, 2022
72603c4
diagnostics
bhackett1024 Dec 15, 2022
af43d5e
hackfix for cypress DOM Node + Element detection (#281)
Domiii Dec 15, 2022
95f7099
update deps
bhackett1024 Dec 15, 2022
c6f1103
diagnostics
bhackett1024 Dec 16, 2022
77a91e8
fixes
bhackett1024 Dec 16, 2022
2358468
fix build break
bhackett1024 Dec 16, 2022
04d4f00
cleanup and work toward fixing `getterValues` (#282)
Domiii Dec 16, 2022
1afbb31
Remove unneeded / crashy assertions (#283)
bhackett1024 Dec 16, 2022
0a23bd6
WIP RUN-981:
Domiii Dec 18, 2022
b2eca24
fix getBoxModel
Domiii Dec 18, 2022
8c97f04
WIP: CSS.getAppliedRules + remove `DevOnly` (woops)
Domiii Dec 19, 2022
2d502d1
Add checks for deterministic initialization of font service thread (#…
bhackett1024 Dec 19, 2022
b6727b1
diagnostics
bhackett1024 Dec 19, 2022
cbee4e1
diagnostics
bhackett1024 Dec 19, 2022
bfdcdec
fix build break
bhackett1024 Dec 19, 2022
e3c161b
fix build break
bhackett1024 Dec 19, 2022
ef73df6
Sort layer sets
bhackett1024 Dec 19, 2022
2e4a804
diagnostics
bhackett1024 Dec 19, 2022
772ff4e
Merge pull request #285 from replayio/RUN-981
kannanvijayan Dec 19, 2022
c814a5a
Track mounted and unmounted React roots
markerikson Dec 19, 2022
ee4b363
Don't invoke on-pending-tasks-changed for idle task posts.
kannanvijayan Dec 21, 2022
640d33d
Handle redirects in network monitor impl.
kannanvijayan Dec 20, 2022
f14c4c4
update deps
bhackett1024 Dec 22, 2022
6b366f7
Merge pull request #287 from replayio/kannan/run-1021-tour-of-heroes-…
kannanvijayan Dec 22, 2022
dcec284
Merge pull request #286 from replayio/kannan/run-716-chromium-netmoni…
kannanvijayan Dec 22, 2022
b083684
update deps
bhackett1024 Dec 22, 2022
b5ed314
Stop adding asserts
bhackett1024 Dec 22, 2022
700a6b9
bump version, diagnostics
bhackett1024 Dec 22, 2022
f3065a8
Add checks that events are allowed when creating mojo resources (#288)
bhackett1024 Dec 22, 2022
0ef7879
diagnostics
bhackett1024 Dec 23, 2022
67fb29b
update deps
bhackett1024 Dec 23, 2022
9057244
update deps
bhackett1024 Dec 23, 2022
c846954
assorted fixes and diagnostics
bhackett1024 Dec 23, 2022
f1e51bd
fixes and diagnostics
bhackett1024 Dec 26, 2022
b6524c5
diagnostics
bhackett1024 Dec 26, 2022
0c9bdbd
diagnostics
bhackett1024 Dec 26, 2022
4e42c48
bump version
bhackett1024 Dec 27, 2022
e47959a
update disabled features
bhackett1024 Dec 27, 2022
160f05f
Fixes RUN-981 (first version of CSS.getAppliedRules) (#289)
Domiii Dec 28, 2022
23bcc41
diagnostics
bhackett1024 Dec 28, 2022
9f52e26
fixes and diagnostics
bhackett1024 Dec 28, 2022
65d6dbb
bump version
bhackett1024 Dec 29, 2022
4e06520
cleanup
bhackett1024 Dec 29, 2022
dc221cd
Fixes and diagnostics
bhackett1024 Dec 29, 2022
6a00003
diagnostics
bhackett1024 Dec 29, 2022
a0a8699
update deps
bhackett1024 Dec 29, 2022
b7d15d0
fixes and diagnostics
bhackett1024 Dec 30, 2022
ae79994
Revert unnecessary change
bhackett1024 Dec 30, 2022
a6d3d1a
fixes
bhackett1024 Dec 30, 2022
9c44505
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Dec 30, 2022
fdf33ea
Merge branch 'merge' of github.com:replayio/chromium into merge
bhackett1024 Dec 30, 2022
2bd50c9
fix build breaks
bhackett1024 Dec 30, 2022
d277073
assorted diagnostics and fixes
bhackett1024 Dec 30, 2022
0104a9e
Merge branch 'merge' of github.com:replayio/chromium into merge
bhackett1024 Dec 30, 2022
55b4cd0
fix build break
bhackett1024 Dec 30, 2022
9092359
assorted fixes
bhackett1024 Dec 31, 2022
3a269ec
RUN-1033: DOM.performSearch (#290)
Domiii Dec 31, 2022
5359d60
RUN-1034: event listeners now kinda working (#292)
Domiii Dec 31, 2022
36296c9
fix RUN-1030 (fix branch) (#291)
Domiii Dec 31, 2022
d55be79
diagnostics
bhackett1024 Dec 31, 2022
60fde7c
Always use getrandom syscall when getting random data
bhackett1024 Dec 31, 2022
4e82186
Assorted fixes and diagnostics
bhackett1024 Dec 31, 2022
17c8ac5
Merge branch 'merge' of github.com:replayio/chromium into merge
bhackett1024 Dec 31, 2022
fb525a0
fix build breaks
bhackett1024 Dec 31, 2022
9f57419
diagnostics
bhackett1024 Dec 31, 2022
c941e3d
Remove diagnostics, always signal repainting event even if no paint h…
bhackett1024 Dec 31, 2022
7faeee9
fix build break
bhackett1024 Dec 31, 2022
e9016f4
Merge branch 'master' of github.com:replayio/chromium into merge
bhackett1024 Dec 31, 2022
fae4c50
Merge pull request #293 from replayio/feature/FE-1037-writable-react-…
markerikson Jan 3, 2023
3cfcdb9
fix RUN-1062 (#294)
Domiii Jan 4, 2023
75a0264
fix RUN-872 (#295)
Domiii Jan 6, 2023
b5f2791
fix RUN-1074 - allow embedding LOCAL driver binary (#297)
Domiii Jan 6, 2023
479b7e4
fix RUN-1067 - `isInstanceOfNative`, small object preview bugs (#298)
Domiii Jan 6, 2023
01c7d1a
Do some V8 initialization when not recording/replaying
bhackett1024 Jan 6, 2023
56d9f3a
Merge remote-tracking branch 'origin/master' into merge
bhackett1024 Jan 6, 2023
be5cd41
Merge pull request #300 from replayio/merge
bhackett1024 Jan 7, 2023
1608ed9
Allow running cypress tests in build/test branch action (#301)
bhackett1024 Jan 7, 2023
905947f
Register PageVisibilityObserver objects for sorting by pointer ID (#302)
bhackett1024 Jan 9, 2023
05b4590
Avoid using endpoint receiver after it has been leaked (#303)
bhackett1024 Jan 9, 2023
660a8c8
Watch out for null child process host delegate (#304)
bhackett1024 Jan 9, 2023
2118f77
Watch for null layout child (#305)
bhackett1024 Jan 9, 2023
9f869c4
Add diagnostics for bad event listener value (#307)
bhackett1024 Jan 10, 2023
9588adb
Don't send page timing metrics at non-deterministic points (#311)
bhackett1024 Jan 11, 2023
56e133a
Avoid non-deterministic behavior when destroying FrameTaskQueueContro…
bhackett1024 Jan 11, 2023
505cdbe
Add an assortment of style and layout assertions (#309)
bhackett1024 Jan 11, 2023
4c532a0
bump deps
bhackett1024 Jan 11, 2023
d1c5ef6
Updating README.md + build.js (post 108 updates) (#306)
Domiii Jan 11, 2023
7006346
fix RUN-1063 - mouse click position in iframes (#299)
Domiii Jan 11, 2023
23310d9
Eagerly instantiate DOM window location when recording/replaying (#312)
bhackett1024 Jan 11, 2023
53d8611
Don't destroy power arbiter voter in LocalFrameMojoHandler at non-det…
bhackett1024 Jan 11, 2023
c3f4396
Avoid creating static ImageDecodingStore instance at non-deterministi…
bhackett1024 Jan 11, 2023
bee2bab
update deps
bhackett1024 Jan 11, 2023
be5e481
More asserts for narrowing down RUN-820.
kannanvijayan Jan 11, 2023
a331193
Merge pull request #313 from replayio/kannan/run-1104-more-asserts-fo…
kannanvijayan Jan 12, 2023
664c773
Watch for zapped event listeners (#317)
bhackett1024 Jan 13, 2023
b0eb5a6
Add diagnostics for disallow/pass-through state during font service t…
bhackett1024 Jan 13, 2023
747e530
update deps
bhackett1024 Jan 13, 2023
f921876
update deps
bhackett1024 Jan 13, 2023
e6676ed
Order pages in Page::AllPages HashSet.
kannanvijayan Jan 12, 2023
40d5533
Merge pull request #316 from replayio/kannan/run-1108-order-pages-in-…
kannanvijayan Jan 13, 2023
e6bb7dc
update deps
bhackett1024 Jan 13, 2023
9bf6bcb
Assertions to narrow down RUN-1116
kannanvijayan Jan 13, 2023
b7e0251
Implement the Redux DevTools stub
markerikson Jan 10, 2023
f9a3e06
Merge pull request #319 from replayio/kannan/run-1120-add-assertions-…
kannanvijayan Jan 13, 2023
5431f4d
Add diagnostics for mojo port closing (#320)
bhackett1024 Jan 13, 2023
1cbd681
Add assertions for DoWorkImpl behavior (#321)
bhackett1024 Jan 13, 2023
167b648
Add assertions for next work info (#322)
bhackett1024 Jan 13, 2023
af7a7ba
Add asserts for context weak watcher (#323)
bhackett1024 Jan 13, 2023
d7e0904
Order accesses on thread wrapper pending sends (#324)
bhackett1024 Jan 13, 2023
a5463b9
Add assertions for work queue state (#325)
bhackett1024 Jan 13, 2023
7ebe1d5
Add some page visibility assertions and order a hashset iteration (#326)
bhackett1024 Jan 13, 2023
3a1aa39
Fix CompareMemberByPointerId usage (#327)
bhackett1024 Jan 14, 2023
388467b
Merge pull request #308 from replayio/feature/FE-1116-redux-stubs
markerikson Jan 17, 2023
b5db82f
update deps
bhackett1024 Jan 19, 2023
884fe9f
Add some restyling assertions and order a hashset iteration (#330)
bhackett1024 Jan 19, 2023
195458f
Add assertions when selecting tasks (#331)
bhackett1024 Jan 19, 2023
89c2750
Add assertions when getting the current time in various places (#332)
bhackett1024 Jan 19, 2023
23fadb5
Add assertions when reading time in various places (#333)
bhackett1024 Jan 19, 2023
64de772
Add assertions when handling connection errors (#334)
bhackett1024 Jan 19, 2023
e7a9502
Improve assertion for next work info (#335)
bhackett1024 Jan 19, 2023
cd2865a
Avoid recording assertion when events are disallowed (#336)
bhackett1024 Jan 20, 2023
d3b9a32
Associate reason with EventsDisallowed mode.
kannanvijayan Jan 5, 2023
e70f55c
Merge pull request #296 from replayio/kannan/run-1023-label-events-di…
kannanvijayan Jan 20, 2023
fb497f3
Order accesses to sequence manager clock, add some assertions (#337)
bhackett1024 Jan 22, 2023
69788a6
Test suites action improvements (#338)
bhackett1024 Jan 22, 2023
9e1b9b5
Fix crashes on cypress realworld app (#339)
bhackett1024 Jan 22, 2023
f61d59a
Don't invoke event listeners that were zapped when recording (#341)
bhackett1024 Jan 23, 2023
b26a3bf
Make sure MessagePort::close() always closes the port (#340)
bhackett1024 Jan 23, 2023
167d0af
update deps
bhackett1024 Jan 23, 2023
d827054
Disable interactive detector timer when recording/replaying (#342)
bhackett1024 Jan 23, 2023
cc7665d
Record/replay whether message connector has a receiver (#343)
bhackett1024 Jan 23, 2023
6989e84
update deps
bhackett1024 Jan 23, 2023
e862585
RUN-1061/eventsList (also kinda fixes RUN-1016 and RUN-1137) (#328)
Domiii Jan 24, 2023
cbed8a8
DEPS update: v8 (#345)
Domiii Jan 24, 2023
2970624
update deps
bhackett1024 Jan 24, 2023
e6e03f6
Add diagnostics for abort signal behavior (#347)
bhackett1024 Jan 24, 2023
cba70f2
Record/replay whether resources were found in the memory cache (#346)
bhackett1024 Jan 24, 2023
6f13423
Ordered lock usage fix in InspectorTaskRunner::Dispose
kannanvijayan Jan 25, 2023
4f15515
Merge pull request #348 from replayio/kannan/run-1199-use-autolockmay…
kannanvijayan Jan 25, 2023
4b4b142
Allow EventsDisallowed within SequenceManagerImpl::GetTickClockl
kannanvijayan Jan 26, 2023
29156f5
Merge pull request #349 from replayio/kannan/run-1204-allow-eventsdis…
kannanvijayan Jan 26, 2023
cd13090
Add assertions when scheduling animations (#350)
bhackett1024 Jan 26, 2023
fe142a0
Add assertions for picture layer tiling data (#351)
bhackett1024 Jan 26, 2023
90cbca2
Add asserts when creating events for message port (#352)
bhackett1024 Jan 26, 2023
88b887c
Assert NGInlineNode methods for RUN-1219.
kannanvijayan Jan 27, 2023
181fad9
Assertion to narrow down RUN-1065.
kannanvijayan Jan 27, 2023
cbad2be
Merge pull request #353 from replayio/kannan/run-1218-add-asserts-und…
kannanvijayan Jan 27, 2023
eeb8d58
Disable OnEvent calls (#355)
bhackett1024 Jan 27, 2023
faae81f
Merge pull request #354 from replayio/kannan/run-1220-add-asserts-in
kannanvijayan Jan 28, 2023
f6bf2ad
Order hashtable iteration in animation timeline (#356)
bhackett1024 Jan 29, 2023
4b983f8
Avoid weak pointers when in some abort signal callbacks (#357)
bhackett1024 Jan 29, 2023
2823431
Assertions in NGBlockNode and LayoutObject.
kannanvijayan Jan 30, 2023
eebefff
Add asserts in MessageWrapper and Message.
kannanvijayan Jan 30, 2023
a9d3d22
Merge pull request #358 from replayio/kannan/run-1233-add-ids-to-ngbl…
kannanvijayan Jan 31, 2023
7229cea
Merge pull request #360 from replayio/kannan/run-1237-add-assertions-…
kannanvijayan Jan 31, 2023
7cb9319
Revert 2823431416d4947f0ed3782cb352e920358c0f7f
kannanvijayan Jan 31, 2023
b7b6ce5
Merge pull request #361 from replayio/kannan/revert-2823431416d4947f0…
kannanvijayan Jan 31, 2023
f6c0555
Reland reverted RUN-1237 patch.
kannanvijayan Jan 31, 2023
0e2a4b0
Merge pull request #363 from replayio/kannan/reland-reverted-run-1237
kannanvijayan Feb 1, 2023
670b683
Add asserts around mojo event serialization code.
kannanvijayan Feb 1, 2023
39bbc0e
Merge pull request #364 from replayio/kannan/run-1245-add-asserts-in-…
kannanvijayan Feb 2, 2023
14ed325
Assert content of stylesheet being created.
kannanvijayan Feb 2, 2023
a96028f
Merge pull request #366 from replayio/kannan/run-1256-assert-that-css…
kannanvijayan Feb 3, 2023
dc485c6
RUN-1227: use `unique_leaky_ptr` for all `PowerModeVoter`s (#362)
Domiii Feb 4, 2023
2957f64
handle the case where `gInspectorSession->wrapObject` returns a `null…
Domiii Feb 4, 2023
4cbfd7c
More Asserts for `MessagePort::Accept` and `FireEventListeners` (#370)
Domiii Feb 4, 2023
63b3831
RUN-1264: Assert SimpleWatcher's Arm and Cancel (#369)
Domiii Feb 4, 2023
d8d237a
Hold strong references on animations in timeline when recording/repla…
bhackett1024 Feb 4, 2023
9a4feab
re-enable events behind `disable-collect-events` feature flag (for us…
Domiii Feb 4, 2023
aafc998
RUN-1270: assert events (#373)
Domiii Feb 5, 2023
97a4a79
Fix: Assert in PostImmediateTaskImpl causes many unwanted warnings (#…
Domiii Feb 5, 2023
8652d6f
DEPS (#375)
Domiii Feb 5, 2023
8dfed6c
Revert changes to V8GCController (#377)
bhackett1024 Feb 6, 2023
492fd66
Count calls to `NGInlineNode::ShapeTextIncludingFirstLine`
kannanvijayan Feb 3, 2023
0deda05
deps (#378)
Domiii Feb 6, 2023
8773d38
Merge pull request #367 from replayio/kannan/run-1261-add-counter-to-…
kannanvijayan Feb 6, 2023
d46ebfe
Assorted fixes for mac chromium (#379)
bhackett1024 Feb 6, 2023
64cf562
update deps
bhackett1024 Feb 6, 2023
35867dd
Update README and build/test action for mac builds (#380)
bhackett1024 Feb 6, 2023
37f068a
fix deps (#381)
Domiii Feb 7, 2023
e6000ab
Guard asserts in LayoutObjectChildList on !EventsDisallowed
kannanvijayan Feb 7, 2023
6ee5e3f
Merge pull request #382 from replayio/kannan/run-1287-guard-asserts-i…
kannanvijayan Feb 7, 2023
4950023
Release mac browsers in addition to linux (#383)
bhackett1024 Feb 7, 2023
f15cd8a
RUN-1291: asserts (#384)
Domiii Feb 8, 2023
2a6441e
Assert PortLocker::PortLocker, Histogram::Factory::Build
Domiii Feb 9, 2023
410dde5
use AutoLockMaybeEventsDisallowed during GC (#385)
Domiii Feb 9, 2023
6029b9d
Assert PortLocker::PortLocker, Histogram::Factory::Build (#386)
Domiii Feb 9, 2023
8e28cd8
Assert ordering of `layers_that_should_push_properties`
MichaReiser Feb 9, 2023
97137f3
fix crashes in getMatchedStylesForNode (#388)
Domiii Feb 9, 2023
42e9e1a
Merge pull request #387 from replayio/micha/run-1311-add-an-assertion-to
MichaReiser Feb 9, 2023
a2f83e1
undo asserts because they cause crashes
Domiii Feb 9, 2023
3f59c33
Merge branch 'master' of github.com:replayio/chromium into dominik/ru…
Domiii Feb 9, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions .github/actions/build-test-branch/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "Build/Test"
description: "Trigger build/test branch run"

runs:
using: "node12"
main: "./main.js"
120 changes: 120 additions & 0 deletions .github/actions/build-test-branch/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@

const {
getLatestRevision,
sendBuildTestRequest,
newTask,
} = require("../utils");

const branchName = process.env.GITHUB_REF_NAME;
console.log("BranchName", branchName);

const chromiumRevision = getLatestRevision();

const linuxBuildInput = process.env.INPUT_LINUX_BUILD;
console.log("LinuxBuild", linuxBuildInput);
const linuxBuild = linuxBuildInput == "true";

const macBuildInput = process.env.INPUT_MAC_BUILD;
console.log("MacBuild", macBuildInput);
const macBuild = macBuildInput == "true";

const driverRevision = process.env.INPUT_DRIVER_REVISION;
console.log("DriverRevision", driverRevision);

const clobberInput = process.env.INPUT_CLOBBER;
console.log("Clobber", clobberInput);
const clobber = clobberInput == "true";

const slotInput = process.env.INPUT_SLOT;
console.log("Slot", slotInput);
const slot = slotInput ? +slotInput : undefined;

const runStaticTestsInput = process.env.INPUT_RUN_STATIC_TESTS;
console.log("RunStaticTests", runStaticTestsInput);
const runStaticTests = runStaticTestsInput == "true";

const numStaticTestsInput = process.env.INPUT_NUM_STATIC_TESTS;
console.log("NumStaticTests", numStaticTestsInput);
const numStaticTests = numStaticTestsInput ? +numStaticTestsInput : undefined;

const runTestSuitesInput = process.env.INPUT_RUN_TEST_SUITES;
console.log("RunTestSuites", runTestSuitesInput);
const runTestSuites = runTestSuitesInput == "true";

const testSuitesFilterInput = process.env.INPUT_TEST_SUITES_FILTER;
console.log("TestSuitesFilter", testSuitesFilterInput);

const testSuiteRunsInput = process.env.INPUT_TEST_SUITE_RUNS;
console.log("TestSuiteRuns", testSuiteRunsInput);
const testSuiteRuns = testSuiteRunsInput ? +testSuiteRunsInput : undefined;

let requestName = `Chromium Build/Test Branch ${branchName} ${chromiumRevision}`;
if (driverRevision) {
requestName += ` driver ${driverRevision}`;
}
if (slot) {
requestName += ` slot ${slot}`;
}

const allTasks = [];
if (linuxBuild) {
allTasks.push(...platformTasks("linux"));
}
if (macBuild) {
allTasks.push(...platformTasks("macOS"));
}

sendBuildTestRequest({ name: requestName, tasks: allTasks });

function platformTasks(platform) {
const buildTask = newTask(
`Build Chromium ${platform}`,
{
kind: "BuildRuntime",
runtime: "chromium",
revision: chromiumRevision,
branch: branchName,
branchSlot: slot,
driverRevision,
clobber,
},
platform
);

const tasks = [buildTask];

if (runStaticTests) {
const testStaticTask = newTask(
`Chromium Static Tests ${platform}`,
{
kind: "StaticLiveTests",
runtime: "chromium",
revision: chromiumRevision,
driverRevision,
numTests: numStaticTests,
},
platform,
[buildTask]
);
tasks.push(testStaticTask);
}

if (runTestSuites) {
const testSuitesTask = newTask(
`Chromium Test Suites ${platform}`,
{
kind: "CypressTests",
runtime: "chromium",
revision: chromiumRevision,
driverRevision,
filter: testSuitesFilterInput,
numRuns: testSuiteRuns,
},
platform,
[buildTask]
);
tasks.push(testSuitesTask);
}

return tasks;
}
6 changes: 6 additions & 0 deletions .github/actions/build-test/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "Build/Test"
description: "Trigger build/test run"

runs:
using: "node12"
main: "./main.js"
52 changes: 52 additions & 0 deletions .github/actions/build-test/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

const {
getLatestRevision,
sendBuildTestRequest,
newTask,
} = require("../utils");

const revision = getLatestRevision();

sendBuildTestRequest({
name: `Chromium Build/Test ${revision}`,
tasks: [
...platformTasks("linux"),
...platformTasks("macOS"),
],
});

function platformTasks(platform) {
const buildTask = newTask(
`Build Chromium ${platform}`,
{
kind: "BuildRuntime",
runtime: "chromium",
revision,
},
platform
)

const testStaticTask = newTask(
`Chromium Static Tests ${platform}`,
{
kind: "StaticLiveTests",
runtime: "chromium",
revision,
},
platform,
[buildTask]
);

const testPlaywrightTask = newTask(
`Chromium Playwright Tests ${platform}`,
{
kind: "PlaywrightLiveTests",
runtime: "chromium",
revision,
},
platform,
[buildTask]
);

return [buildTask, testStaticTask, testPlaywrightTask];
}
6 changes: 6 additions & 0 deletions .github/actions/release/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: "Release"
description: "Trigger browser release"

runs:
using: "node12"
main: "./main.js"
30 changes: 30 additions & 0 deletions .github/actions/release/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

const {
getLatestRevision,
sendBuildTestRequest,
spawnChecked,
newTask,
} = require("../utils");

const revision = getLatestRevision();

sendBuildTestRequest({
name: `Chromium Release ${revision}`,
tasks: [
...platformTasks("linux"),
...platformTasks("macOS"),
],
});

function platformTasks(platform) {
const releaseTask = newTask(
`Release Chromium ${platform}`,
{
kind: "ReleaseRuntime",
runtime: "chromium",
revision,
},
platform
);
return [releaseTask];
}
83 changes: 83 additions & 0 deletions .github/actions/utils.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@

const http = require("http");
const https = require("https");
const { spawnSync } = require("child_process");

const chromium = `${__dirname}/../..`;

function getLatestRevision() {
return spawnChecked("git", ["rev-parse", "--short=12", "HEAD"], { cwd: chromium })
.stdout.toString()
.trim();
}

function sendBuildTestRequest(contents) {
const text = JSON.stringify(contents);

const headers = {
"Content-Type": "application/json",
"Content-Length": text.length,
Authorization: process.env.BUILD_TEST_AUTHORIZATION,
};

// Allow overriding the build/test connection info for testing.
const options = {
hostname: process.env.BUILD_TEST_HOSTNAME || "build-test.replay.io",
port: process.env.BUILD_TEST_PORT || 443,
path: "/",
method: "POST",
headers,
};

const request = (process.env.BUILD_TEST_INSECURE ? http : https).request(
options,
response => {
console.log(`RequestFinished Code ${response.statusCode}`);
process.exit(response.statusCode == 200 ? 0 : 1);
}
);
request.on("error", e => {
throw new Error(`Error contacting build/test server: ${e}`);
});
request.write(text);
request.end();

setTimeout(() => {
console.log("Timed out waiting for build/test server response");
process.exit(1);
}, 30000);
}

function spawnChecked(cmd, args, options) {
const prettyCmd = [cmd].concat(args).join(" ");
console.error(prettyCmd);

const rv = spawnSync(cmd, args, options);

if (rv.status != 0 || rv.error) {
console.error(rv.error);
throw new Error(`Spawned process failed with exit code ${rv.status}`);
}

return rv;
}

let gNextTaskId = 1;

function newTask(name, task, platform, dependencies = []) {
const id = gNextTaskId++;
return {
id,
name,
task,
platform,
dependencies: dependencies.map(task => task.id),
};
}

module.exports = {
getLatestRevision,
sendBuildTestRequest,
spawnChecked,
newTask,
};
11 changes: 11 additions & 0 deletions .github/approveman.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
ownership_rules:
# This is to allow adding .github/workflows
allow_dot_github: true
directory_matching_rules:
- name: Github workflows
path: .github/workflows/**
- name: Github actions
path: .github/actions/**
- name: DEPS file
path: "**/DEPS"
72 changes: 72 additions & 0 deletions .github/workflows/build-test-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Build/Test Branch
on:
workflow_dispatch:
inputs:
linux_build:
description: "Build and run tests on linux"
type: boolean
required: false
default: "true"
mac_build:
description: "Build and run tests on macOS"
type: boolean
required: false
default: "true"
driver_revision:
description: "Driver revision to use, if not the latest"
required: false
clobber:
description: "Build chromium from scratch"
type: boolean
required: false
slot:
description: "Checked out repository slot to use"
required: false
run_static_tests:
description: "Run static tests"
type: boolean
required: false
default: "true"
num_static_tests:
description: "Number of static tests to run"
required: false
run_test_suites:
description: "Run test suites"
type: boolean
required: false
default: "false"
test_suites_filter:
description: "Filter for test suites to run"
required: false
test_suite_runs:
description: "Number of times to run test suites"
required: false

jobs:
build-test:
name: Trigger build/test run on current branch
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Connect to Tailscale
uses: tailscale/github-action@e870a1112fcc1faeeeeea3c1b0ce544e5ad01844
with:
authkey: ${{ secrets.TAILSCALE_API_KEY }}
version: 1.28.0
- uses: actions/checkout@v2
- uses: ./.github/actions/build-test-branch
env:
BUILD_TEST_AUTHORIZATION: ${{ secrets.BUILD_TEST_AUTHORIZATION }}
BUILD_TEST_HOSTNAME: a49855c191a944333918aea7ad31bc76-6a8a830d89921d8a.elb.us-east-2.amazonaws.com
BUILD_TEST_PORT: ${{ secrets.BUILD_TEST_PORT }}
BUILD_TEST_INSECURE: ${{ secrets.BUILD_TEST_INSECURE }}
INPUT_LINUX_BUILD: ${{ github.event.inputs.linux_build }}
INPUT_MAC_BUILD: ${{ github.event.inputs.mac_build }}
INPUT_DRIVER_REVISION: ${{ github.event.inputs.driver_revision }}
INPUT_CLOBBER: ${{ github.event.inputs.clobber }}
INPUT_SLOT: ${{ github.event.inputs.slot }}
INPUT_RUN_STATIC_TESTS: ${{ github.event.inputs.run_static_tests }}
INPUT_NUM_STATIC_TESTS: ${{ github.event.inputs.num_static_tests }}
INPUT_RUN_TEST_SUITES: ${{ github.event.inputs.run_test_suites }}
INPUT_TEST_SUITES_FILTER: ${{ github.event.inputs.test_suites_filter }}
INPUT_TEST_SUITE_RUNS: ${{ github.event.inputs.test_suite_runs }}
Loading