-
-
Notifications
You must be signed in to change notification settings - Fork 232
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
Fix martin-ui crate packaging #1668
Conversation
The martin-ui dir must be part of the martin package, otherwise it does not get included in the `cargo publish -p martin`. We could also do it with a symlink from inside the `/martin` dir, but that gets a bit confusing - easier to just keep ui inside martin itself, as it is not used anywhere outside of that crate.
cc: @paigewilliams - do you know how to best solve the TODO? |
@nyurik I could tap in here if this is still pending a solve. |
@Auspicus that would be awesome, thanks! |
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, looks awesome! I can't approve it because I started this PR, so force merging instead
Nope, still broken - #1699 is the CI test |
Sorry, should have commented something to that regard. e4f99ad was only meant as a step into the right direction... |
Run `npm install` and javascript packaging inside the `OUT_DIR` ``` error: failed to verify package tarball Caused by: Source directory was modified by build.rs during cargo publish. Build scripts should not modify anything outside of OUT_DIR. Added: .../martin/target/package/martin-0.15.0/martin-ui/dist .../martin/target/package/martin-0.15.0/martin-ui/dist/_ .../martin/target/package/martin-0.15.0/martin-ui/dist/_/assets ... ``` Fixes #1667 See prior partial fix in #1668 --------- Co-authored-by: Frank Elsinga <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Frank Elsinga <[email protected]>
STATUS: this PR can use some help from other folks - it deals with NPM integration, which turns out is not working as intended... :(
The martin-ui dir must be part of the martin package, otherwise it does not get included in the
cargo publish -p martin
. We could also do it with a symlink from inside the/martin
dir, but that gets a bit confusing - easier to just keep ui inside martin itself, as it is not used anywhere outside of that crate.In order to prevent these bugs in the future, we might want to run
cargo +nightly publish --workspace -Z package-workspace --dry-run
as part of some CI -- this will take into account that some crates depend on the other, and that some/all of them have not been published yetTODO
martin/build.rs
to install node files inside the standard build dir. Current dry run shows this error:I am not sure we should use
--no-verify
fixes #1667