-
Notifications
You must be signed in to change notification settings - Fork 22
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
ref: new workspace structure and version management #280
Conversation
…267) Add the rc tag to the docs so we can publish them before the audit. It should be shown as `0.1.0-rc` on the site. I also made clear in the warning that this hasn't been audited yet. Signed-off-by: Gustavo Gonzalez <[email protected]>
Bump version to `0.1.0-rc`.
Bump: - Stylus SDK to `v0.6.0` - cargo-stylus to `v0.5.1`
lib/motsu/Cargo.toml
Outdated
|
||
[dependencies] | ||
const-hex.workspace = true | ||
once_cell.workspace = true | ||
tiny-keccak.workspace = true | ||
stylus-sdk.workspace = true | ||
motsu-proc = { path = "../motsu-proc" } | ||
motsu-proc = "0.1.0" |
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 think If we change smth in motsu-proc
crate we need to see those changes inside motsu
without publishing crate
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.
Can you try to add version altogether with path?
✅ Deploy Preview for contracts-stylus canceled.
|
30a788b
to
cf154e5
Compare
cf154e5
to
7a70440
Compare
…tes.io (cherry picked from commit 16937a2)
2ea0930
to
9622dc5
Compare
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.
Good job!
Definitely looks better
CARGO_TERM_COLOR: always | ||
jobs: | ||
check-publish: | ||
name: Check publish on crates.io |
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.
That looks cool!
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.
But I would change the pr's name to ref: ...
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.
@qalisander how about ref: new workspace structure
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.
Looking great! Just left a small comment
with: | ||
target: wasm32-unknown-unknown | ||
components: rust-src | ||
toolchain: nightly-2024-01-01 |
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.
We define the version of the toolchain in main places across workflows. I wonder if it would be better to specify it in rust-toolchain.toml
file and then:
- Actions can just use that version
- Everyone that runs the project locally will use the same version of the toolchain
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.
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.
One final question
openzeppelin-stylus = { path = "contracts" } | ||
openzeppelin-crypto = { path = "lib/crypto" } | ||
motsu = { path = "lib/motsu"} | ||
motsu-proc = { path = "lib/motsu-proc", version = "0.1.0" } |
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.
Why do we set a specific version for motsu-proc
? Is this intentional?
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.
Needed to publish motsu
to crates.io; requirement for cargo publish -p motsu --dry-run
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.
LGTM
- [x] Set `motsu` version to `v0.1.0` - [x] Improve version management for the workspace - `contracts`, `lib/crypto`, `examples`, and `benches` use version set for the whole workspace - `motsu`, `motsu-proc`, `e2e`, `e2e-proc` have their own version per crate - [x] Cleanup dependencies for the workspace - [x] Add CI checks for pre-publishing on crates.io - [x] Fix issues with publishing `motsu` to crates.io: ``` cargo publish -p motsu --target wasm32-unknown-unknown --dry-run Updating crates.io index error: all dependencies must have a version specified when publishing. dependency `motsu-proc` does not specify a version Note: The published dependency will use the version from crates.io, the `path` specification will be removed from the dependency declaration. ``` --------- (cherry picked from commit b1eef80)
- [x] Set `motsu` version to `v0.1.0` - [x] Improve version management for the workspace - `contracts`, `lib/crypto`, `examples`, and `benches` use version set for the whole workspace - `motsu`, `motsu-proc`, `e2e`, `e2e-proc` have their own version per crate - [x] Cleanup dependencies for the workspace - [x] Add CI checks for pre-publishing on crates.io - [x] Fix issues with publishing `motsu` to crates.io: ``` cargo publish -p motsu --target wasm32-unknown-unknown --dry-run Updating crates.io index error: all dependencies must have a version specified when publishing. dependency `motsu-proc` does not specify a version Note: The published dependency will use the version from crates.io, the `path` specification will be removed from the dependency declaration. ``` --------- (cherry picked from commit b1eef80)
- [x] Set `motsu` version to `v0.1.0` - [x] Improve version management for the workspace - `contracts`, `lib/crypto`, `examples`, and `benches` use version set for the whole workspace - `motsu`, `motsu-proc`, `e2e`, `e2e-proc` have their own version per crate - [x] Cleanup dependencies for the workspace - [x] Add CI checks for pre-publishing on crates.io - [x] Fix issues with publishing `motsu` to crates.io: ``` cargo publish -p motsu --target wasm32-unknown-unknown --dry-run Updating crates.io index error: all dependencies must have a version specified when publishing. dependency `motsu-proc` does not specify a version Note: The published dependency will use the version from crates.io, the `path` specification will be removed from the dependency declaration. ``` --------- (cherry picked from commit b1eef80)
motsu
version tov0.1.0
contracts
,lib/crypto
,examples
, andbenches
use version set for the whole workspacemotsu
,motsu-proc
,e2e
,e2e-proc
have their own version per cratemotsu
to crates.io: