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

CI: Update to Solana v2.1 crates #7416

Merged
merged 7 commits into from
Oct 31, 2024
Merged

Conversation

joncinque
Copy link
Contributor

@joncinque joncinque commented Oct 30, 2024

Problem

The Solana v2.1 crates were recently published, but SPL is still on the v2.0 release.

Summary of changes

  • 0d2bf9d: Update the Solana and curve25519-dalek crates, and rust versions
  • 79572ba: Run clippy --fix and rustfmt
  • f23917a: Use workspace-level lints, fix some clippy suggestions
  • 4b190a1: Update doc comments for clippy::doc_lazy_continuation -- note, this excludes spl-governance
  • 0e8e13d: Oops, re-run rustfmt
  • a326b9f: Update to v2.1 toolsuite
  • 6c5b346: CI fixups

@joncinque
Copy link
Contributor Author

Looks like --tools-version isn't working for CI. I'll step away from this and wait until the v2.1 tools are released

Copy link
Contributor

@samkim-crypto samkim-crypto left a comment

Choose a reason for hiding this comment

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

Looks fine to me! Just one small question about the lints setting.

thiserror = "1.0.65"

[dev-dependencies]

[lib]
crate-type = ["cdylib", "lib"]

[lints]
workspace = true
Copy link
Contributor

Choose a reason for hiding this comment

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

For which crates should we inherit the lints from the root of the workspace? It seems to make sense for crates that implement on-chain programs, but the proof-generation crate is an outlier that doesn't really implement a program.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

At the very least, we need them for all crates that use target_os = "solana", since that's not a supported cfg in the base rust toolchains. There might be other situations that I'm missing, but that's the main one

@joncinque joncinque merged commit 8e0ed0a into solana-labs:master Oct 31, 2024
47 checks passed
@joncinque joncinque deleted the solup branch October 31, 2024 11:25
@@ -8,11 +8,14 @@ license = "Apache-2.0"
edition = "2021"

[dependencies]
curve25519-dalek = "3.2.1"
solana-zk-sdk = "2.0.3"
curve25519-dalek = "4.1.3"
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for updating this. It would be great to get a new release of spl-token-confidential-transfer-proof-generation with these changes included because it's currently conflicting with solana-* 2.1.0:

error: failed to select a version for `zeroize`.
    ... required by package `curve25519-dalek v3.2.1`
    ... which satisfies dependency `curve25519-dalek = "^3.2.1"` of package `spl-token-confidential-transfer-proof-generation v0.1.0`
    ... which satisfies dependency `spl-token-confidential-transfer-proof-generation = "^0.1.0"` of package `spl-token-2022 v5.0.2`
    ... which satisfies dependency `spl-token-2022 = "^5.0.2"` of package `native v0.1.0 (/home/x/native")`
versions that meet the requirements `>=1, <1.4` are: 1.3.0, 1.2.0, 1.1.1, 1.1.0, 1.0.0

all possible versions conflict with previously selected packages.

  previously selected package `zeroize v1.7.0`
    ... which satisfies dependency `zeroize = "^1.7"` of package `solana-zk-sdk v2.1.0`
    ... which satisfies dependency `solana-zk-sdk = "^2.1.0"` of package `native v0.1.0 (/home/x/native")`

failed to select a version for `zeroize` which could resolve this conflict

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah... this is going to be another one of those painful upgrades. I'll publish all the required SPL crates today and tomorrow so we can backport to Solana v2.1

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.

3 participants