It seems that if a git submodule is not properly initialize on the machine that will publish the crate, cargo won't warn or detect it, as described in this issue https://github.com/rust-lang/cargo/issues/8635. This is hard to detect because the CI is setup to properly git clone --recursive and therefore should not detect this issue.
To reduce the likelyhood of https://github.com/jean-airoldie/zeromq-src-rs/issues/23 from happening again in the future, the testcrate was added as a dev-dedependecy to the root crate and the tests were moved to the root crate so that if cargo test is ran (even without the --workspace flag), the tests won't compile and the error should be detected.
It seems that if a git submodule is not properly initialize on the machine that will publish the crate, cargo won't warn or detect it, as described in this issue https://github.com/rust-lang/cargo/issues/8635. This is hard to detect because the CI is setup to properly
git clone --recursive
and therefore should not detect this issue.To reduce the likelyhood of https://github.com/jean-airoldie/zeromq-src-rs/issues/23 from happening again in the future, the
testcrate
was added as a dev-dedependecy to the root crate and the tests were moved to the root crate so that ifcargo test
is ran (even without the --workspace flag), the tests won't compile and the error should be detected.