-
Notifications
You must be signed in to change notification settings - Fork 150
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
Merge frontend and Pyk again #4066
Comments
@tothtamas28 began experimenting with public runners for Pyk, but doing so is blocked on #4061. We should think about fixing that before any merge begins. @ehildenb questions the performance of these runners; there is a rate-limiting effect as we are only allocated 15? 60? x4vcpu runners for our open-source code. Beyond a point we will run out of compute, but not clear when that will be. Heavier jobs will benefit from being run on our own runners. |
We discussed this in the K meeting today and arrived at the following set of plans:
Caution When we copy Pyk into the K source tree, we should take care to think through how the K build and installation process works for downstream users, and that we've produced a working version of the merged tree that can be installed locally / in a docker container / via Nix, as appropriate. |
First step of the merge:
We should disable autoupdates from Pyk before freezing its code. |
Post-merge subtleties we should address:
|
Related: * runtimeverification/k#4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
@tothtamas28 and I ran through the merge process yesterday; a summary of the concrete steps we're taking is:
There will be a secondary process that needs to happen once the big PR gets merged; the steps here are less critical and have fewer dependencies, but should be done ASAP to minimise disruption.
|
Log9 April 2024 11:22 - PRs to Pyk closedList of automerge-labelled PRs is here (should be empty): https://github.com/runtimeverification/pyk/pulls?q=is%3Aopen+is%3Apr+label%3Aautomerge 9 April 2024 - 12:16 - Pyk repo filteredTo merge the history of the two repositories cleanly, we need to do some destructive modification on a local copy of Pyk:
We can do both of these things easily with $ git clone git@github.com:runtimeverification/pyk.git
$ cd pyk
$ git filter-repo --to-subdirectory-filter pyk
$ cat ../expressions.txt
regex:(.*)\(#(\d+)\)==>\1(https://github.com/runtimeverification/pyk/pull/\2)
$ git filter-repo --replace-message ../expressions.txt The local checkout of Pyk here should now have a single 9 April 2024 - 12:33 - Merge Pyk repository into KWe can now merge the filtered Pyk repository into K following these instructions. Presuming that K and Pyk are checked out in the same parent directory: $ git clone git@github.com:runtimeverification/k.git
$ cd k
$ git branch remerge-pyk develop
$ git checkout remerge-pyk
$ git remote add pyk ../pyk
$ git fetch pyk --tags
$ git merge --allow-unrelated-histories pyk/master
$ git remote remove pyk This branch can now be opened as an ordinary PR. 9 April 2024 - 13:00 - Ignore pyk directory for formattingFortunately, this is the only change required to get K's existing CI to pass with the Pyk repository included in it: f6e2848 9 April 2024 - 15:53 - Run Pyk CIWe need to run all of Pyk's tests as part of K's existing PR test workflow1; this means porting the test portions over from the Pyk repository into the K workflow files. Changes that needed to be made here:
10 April 2024 - 08:47 - Align
|
Related: * #4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
Related: * #4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
Related: * #4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
Related: * #4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
Related: * #4066 (comment) --------- Co-authored-by: devops <devops@runtimeverification.com>
We dropped Pyk as a direct component of the K repository in 2022 so that it could exist as a more standalone tool. Since then, our model of the relationship between these components has changed (specifically, we hope in the long term to push more of the features currently implemented in the frontend into Pyk, and for the frontend to gradually become a much smaller set of internal tools).
As part of this process, we probably want to think about re-merging the two repositories. Doing so with minimal disruption to downstream projects will require some thought.
Part of: #4063
The text was updated successfully, but these errors were encountered: