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

everest: bootstrap F*, now required for building Pulse #121

Merged
merged 1 commit into from
Dec 30, 2024

Conversation

mtzguido
Copy link
Member

Pulse relies on checked files for internal compiler modules, after FStarLang/pulse#246.

We use to avoid this need by keeping an OCaml snapshot of the checker in the Pulse repo, but we've removed that since. That was not ideal due to merge conflicts and etc, but also meant that an everest build would not check that Pulse can successfully build.

This changes the F* build rule to add the bootstrapping step.

--

This means an everest build will now be a bit slower. I am also wondering if we still want Pulse in the everest set of projects.

cc @tahina-pro @gebner @msprotz

Pulse relies on checked files for internal compiler modules, after
FStarLang/pulse#246.

We use to avoid this need by keeping an OCaml snapshot of the checker in
the Pulse repo, but we've removed that since. That was not ideal due
to merge conflicts and etc, but also meant that an everest build would
not check that Pulse can successfully build.

This changes the F* build rule to add the bootstrapping step.
@msprotz
Copy link
Member

msprotz commented Dec 30, 2024

Thanks for the FYI. No objection on my part. As to the duration of the Everest build: build times have been slowly creeping upwards over time, so I don't think this is going to be a dealbreaker.

Keeping pulse in everest is mostly a question of whether check-world supersedes Everest. What's the status there? The most recent build was a month ago, so is the ambition still that check-world becomes a better version of the everest script? Do we then remove the build logic from everest, or do we keep it as a convenient way to do local regressions?

Cheers

@mtzguido
Copy link
Member Author

Keeping pulse in everest is mostly a question of whether check-world supersedes Everest. What's the status there? The most recent build was a month ago, so is the ambition still that check-world becomes a better version of the everest script? Do we then remove the build logic from everest, or do we keep it as a convenient way to do local regressions?

I've been making progress in this F* PR FStarLang/FStar#3637, and running check-world there (https://github.com/mtzguido/FStar/actions/workflows/ci.yml, some of the runs have "friends" enabled, like https://github.com/mtzguido/FStar/actions/runs/12520179032). So yes I think that will be the way to do regression testing across projects.

I think there's still value in the everest script... I wouldn't mind keeping it working including Pulse.

@mtzguido mtzguido merged commit 267ab6a into project-everest:master Dec 30, 2024
2 checks passed
tahina-pro added a commit to project-everest/everparse that referenced this pull request Jan 2, 2025
this has become necessary because of FStarLang/pulse#246,
following project-everest/everest#121
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants