Apply separate-recorder
branch change to latest upstream change
#1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related tickets
Context
We manage this repository as a dependency of synthetics-recorder. We forked and modified the original playwright in order to enable a certain feature for the recorder.
The modified version is maintained in separate-recorder branch currently, but it has been outdated for a while and it became cumbersome to apply the patch from upstream as their development velocity was so fast that we hadn't had a chance to incrementally update it. The main reason being Playwright changed its structure significantly(from monolith to monorepo) it didn't seem to an simple fix.
Another issue we had with the separate-recorder branch is that it includes compiled
lib/*
js files as part of the branch so it is not easy to maintain having thousands of lines of diffs every time we merge the upstream changes.What does this change do
This branch contains the essential modification we had in the
separate-recorder
branch, plus a further modification in order to make it compatible with the latest upstream changes. I've tried to use this one locally and I could see it recorded the actions successfully! (code generation needs a bit more work as they change the data structure, but it is a minor change on the recorder side)Proposal: The approach for maintaining the modification with continuous updates
main
, rather keep this branch separated, call itsynthetics-recorder
or similar.${version}-recorder
or similar, and cherry pick the commit fromsynthetics-recorder
into the newly created branch.# !packages/playwright-core/lib/
in.gitignore
, runnpm run build
and see the js files are generated for playwirght-core. Commit all of them and push it to remote.In short, we will maintain two separated branches, one that contains the modification(
synthetics-recorder
) and another one that contains the generated lib files for the target version (${version}-recorder
)