-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
test templates: add mollusk #3352
test templates: add mollusk #3352
Conversation
@buffalojoec is attempting to deploy a commit to the coral-xyz Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this!
Note: Unlike other test templates, this one actually puts the tests in the program crate, since it plays the best with
cargo test-sbf
. I think it's cleaner this way as well.
This might cause issues with the IDL generation since it runs cargo test
. The main issue should be fixed in #3058, but just to make sure, could you check whether mollusk
tests run during the IDL generation?
Also, it would be great to have a test for this template in CI.
Let me know if there are other IDL-build scenarios, but I ran
Done! I actually decided to turn the "CLI init" tests into a matrix and test all of the examples, to ensure they compile and run. Let me know what you think! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually decided to turn the "CLI init" tests into a matrix and test all of the examples, to ensure they compile and run. Let me know what you think!
That's even better, thanks!
Could you also note this feature in the CHANGELOG before we merge?
let dev_dependencies = if with_mollusk { | ||
r#" | ||
[dev-dependencies] | ||
mollusk-svm = "=0.0.6-solana-1.18" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any specific reason to use fixed versions? We're also on Solana v2 now (I see mollusk-svm 0.0.7-solana-2.0
available), but I guess it doesn't matter much.
This is not a blocker for getting this in, but please let me me know if we can relax this requirement to avoid repetitive bumps.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ohh, maybe I wasn't understanding how the versioning worked with master
. It seemed like the tip was generating a template for Anchor 0.30, which should be running 1.18, right? My lockfile was pulling in two versions when I used a version of Mollusk compatible with >2.0.
But yeah, there's a 2.0-compat release line as well as the main release line which supports 2.1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
anchor init
creates templates with anchor-lang 0.30.1
because that's what the current master
version is. However, master
branch is already on Solana v2.1, so when we bump the version to v0.31.0 (#3259), it will use the latest Solana version of v2.
In short, the init
command is not up-to-date with master
, as it always uses the last released version rather than directly depending on the master
branch.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So does that mean we'd adjust the version for mollusk-svm
after the next Anchor release? Because trying to do it now causes the test job to fail.
https://github.com/coral-xyz/anchor/actions/runs/11814814004/job/32914710753?pr=3361
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't think that would make sense, since people would have the incompatible version with the new release that way.
The init
test is a bit weird because it's testing the past release compared to all other tests using the latest master
. It's probably best to bump mollusk-svm
version during Anchor version bumps e.g. in #3259. We could also bump it beforehand, but then we'd have CI failures until the next version is released.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahh cool, yeah that makes sense to me. Do you want to add it to #3259? Version 0.0.8
is compatible with Solana 2.1
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, will add it to #3259
This PR adds a test template for Mollusk!
Note: Unlike other test templates, this one actually puts the tests in the program crate, since it plays the best with
cargo test-sbf
. I think it's cleaner this way as well.