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

chore: explain a Nix-powered workflow #149

Merged
merged 1 commit into from
May 29, 2024

Conversation

RaitoBezarius
Copy link

To avoid divergence between Charon and Aeneas, we should re-export Charon via our Flake and tell users to use this as a source of truth.

Here's an appendix on how I do refresh of my files, which can serve as inspiration for a quick start workflow.

cc @Nadrieril @sonmarcho

@RaitoBezarius RaitoBezarius force-pushed the reexport-our-charon branch 2 times, most recently from 75c730d to d848d31 Compare April 18, 2024 12:33
@Nadrieril
Copy link
Member

I'm working onremoving the need for rustup

@sonmarcho
Copy link
Member

What was the issue exactly?

@RaitoBezarius
Copy link
Author

What was the issue exactly?

It's easy to delude myself (anyone-self?) to use Charon and Aeneas separately and have difficult to debug issues because Charon and Aeneas are non-synchronized.

This workflow explains how to avoid this by design by reusing the Charon that Aeneas is depending on.

README.md Outdated Show resolved Hide resolved
@Nadrieril
Copy link
Member

Btw, rustup should no longer be needed

@Nadrieril
Copy link
Member

Actually, why not add charon to the dev shell? You'd have to find a way to male charon-ml available to opam. The idea being that someone who only wants to dev on aeneas doesn't need to figure out how to build charon. Those who dev on both an have a special override

@RaitoBezarius
Copy link
Author

Actually, why not add charon to the dev shell? You'd have to find a way to male charon-ml available to opam. The idea being that someone who only wants to dev on aeneas doesn't need to figure out how to build charon. Those who dev on both an have a special override

Seems orthogonal to me? People will nix run ..., not nix develop ... in general.
Or they would do what I did in https://github.com/RaitoBezarius/avl-verification/blob/main/default.nix#L9-L15 for longer term setups IMHO.

@Nadrieril
Copy link
Member

Oh you're right, I was thinking of aeneas devs but this PR is for aeneas users. Nevermind

@RaitoBezarius
Copy link
Author

Btw, rustup should no longer be needed

Removed.

@RaitoBezarius RaitoBezarius force-pushed the reexport-our-charon branch 2 times, most recently from 0f85911 to 8050a7e Compare April 29, 2024 15:36
README.md Show resolved Hide resolved
@RaitoBezarius
Copy link
Author

Wait, don't merge. This won't work without rustup, I think.

@Nadrieril
Copy link
Member

Oh yeah this needs latest charon; I'll bump soon

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@RaitoBezarius RaitoBezarius force-pushed the reexport-our-charon branch 2 times, most recently from ae34f53 to 3dfe025 Compare May 24, 2024 12:57
@RaitoBezarius
Copy link
Author

I need to do a test with that workflow, I recently had some issues while trying to extract stuff.

Copy link
Member

@sonmarcho sonmarcho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

To avoid divergence between Charon and Aeneas, we should re-export
Charon via our Flake and tell users to use this as a source of truth.

Here's an appendix on how I do refresh of my files, which can serve as
inspiration for a quick start workflow.

Signed-off-by: Ryan Lahfa <ryan.lahfa@inria.fr>
@Nadrieril Nadrieril enabled auto-merge May 29, 2024 08:44
@Nadrieril Nadrieril merged commit 245699d into AeneasVerif:main May 29, 2024
4 checks passed
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.

None yet

3 participants