The CI pipeline (`./check.sh`) was failing because of test errors, which was caused by the instrumentation framework complaining that no subscribers/listeners were registered. Instead of setting up all tests to run with a dummy subscriber, move the implementation of the instrumentation behind a feature flag so that it runs only for tests. There's a catch though: the `#[cfg(test)]` directive works only when directly testing the crate. If a crate `A` depends on another crate `B`, `B` will be compiled as usual (aka not in test mode) which will not trigger the `test` flag. So we need to introduce our own `testing` feature flag for `harmony` core and import it with that flag (only during dev/test). More info: https://github.com/rust-lang/rust/issues/59168 Co-authored-by: Ian Letourneau <letourneau.ian@gmail.com> Reviewed-on: https://git.nationtech.io/NationTech/harmony/pulls/102
73 lines
1.8 KiB
TOML
73 lines
1.8 KiB
TOML
[package]
|
|
name = "harmony"
|
|
edition = "2024"
|
|
version.workspace = true
|
|
readme.workspace = true
|
|
license.workspace = true
|
|
|
|
[features]
|
|
testing = []
|
|
|
|
[dependencies]
|
|
rand = "0.9"
|
|
hex = "0.4"
|
|
libredfish = "0.1.1"
|
|
reqwest = { version = "0.11", features = ["blocking", "json"] }
|
|
russh = "0.45.0"
|
|
rust-ipmi = "0.1.1"
|
|
semver = "1.0.23"
|
|
serde = { version = "1.0.209", features = ["derive", "rc"] }
|
|
serde_json = "1.0.127"
|
|
tokio.workspace = true
|
|
derive-new.workspace = true
|
|
log.workspace = true
|
|
env_logger.workspace = true
|
|
async-trait.workspace = true
|
|
cidr.workspace = true
|
|
opnsense-config = { path = "../opnsense-config" }
|
|
opnsense-config-xml = { path = "../opnsense-config-xml" }
|
|
harmony_macros = { path = "../harmony_macros" }
|
|
harmony_types = { path = "../harmony_types" }
|
|
uuid.workspace = true
|
|
url.workspace = true
|
|
kube = { workspace = true, features = ["derive"] }
|
|
k8s-openapi.workspace = true
|
|
serde_yaml.workspace = true
|
|
http.workspace = true
|
|
serde-value.workspace = true
|
|
helm-wrapper-rs = "0.4.0"
|
|
non-blank-string-rs = "1.0.4"
|
|
k3d-rs = { path = "../k3d" }
|
|
directories = "6.0.0"
|
|
lazy_static = "1.5.0"
|
|
dockerfile_builder = "0.1.5"
|
|
temp-file = "0.1.9"
|
|
convert_case.workspace = true
|
|
email_address = "0.2.9"
|
|
chrono.workspace = true
|
|
fqdn = { version = "0.4.6", features = [
|
|
"domain-label-cannot-start-or-end-with-hyphen",
|
|
"domain-label-length-limited-to-63",
|
|
"domain-name-without-special-chars",
|
|
"domain-name-length-limited-to-255",
|
|
"punycode",
|
|
"serde",
|
|
] }
|
|
temp-dir = "0.1.14"
|
|
dyn-clone = "1.0.19"
|
|
similar.workspace = true
|
|
futures-util = "0.3.31"
|
|
tokio-util = "0.7.15"
|
|
strum = { version = "0.27.1", features = ["derive"] }
|
|
tempfile = "3.20.0"
|
|
serde_with = "3.14.0"
|
|
schemars = "0.8.22"
|
|
kube-derive = "1.1.0"
|
|
bollard.workspace = true
|
|
tar.workspace = true
|
|
base64.workspace = true
|
|
once_cell = "1.21.3"
|
|
|
|
[dev-dependencies]
|
|
pretty_assertions.workspace = true
|