[package]
name = "runnerd-core"
description = "Config, domain logic and API types shared by runnerd and its clients"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
readme.workspace = true
keywords = ["github-actions", "ci", "runner"]
categories = ["development-tools"]
[features]
default = ["host"]
host = [
"dep:bollard",
"dep:futures-util",
"dep:http-body-util",
"dep:hyper",
"dep:hyper-util",
"dep:reqwest",
"dep:rusqlite",
"dep:rustix",
"dep:rustls",
"dep:serde_json",
"dep:tar",
"dep:tokio",
"dep:tracing",
"hyper/server",
"tokio/fs",
"tokio/io-util",
"tokio/net",
]
client = [
"dep:http-body-util",
"dep:hyper",
"hyper/client",
"dep:hyper-util",
"dep:serde_json",
"dep:serde_urlencoded",
"dep:tokio",
"tokio/net",
"tokio/time",
]
[dependencies]
bollard = { workspace = true, optional = true }
futures-util = { workspace = true, optional = true }
http-body-util = { workspace = true, optional = true }
hyper = { workspace = true, optional = true, features = ["http1"] }
hyper-util = { workspace = true, optional = true, features = ["tokio"] }
reqwest = { workspace = true, optional = true }
rusqlite = { workspace = true, optional = true }
rustix = { workspace = true, optional = true, features = ["fs"] }
rustls = { workspace = true, optional = true }
serde.workspace = true
serde_json = { workspace = true, optional = true }
serde_urlencoded = { workspace = true, optional = true }
tar = { workspace = true, optional = true }
thiserror.workspace = true
tokio = { workspace = true, optional = true, features = ["macros", "rt", "sync", "time"] }
toml.workspace = true
toml_edit.workspace = true
tracing = { workspace = true, optional = true }
[dev-dependencies]
axum.workspace = true
futures-util.workspace = true
log.workspace = true
tokio = { workspace = true, features = ["io-util", "macros", "net", "rt-multi-thread", "test-util", "time"] }
[[test]]
name = "docker_smoke"
required-features = ["host"]
[[test]]
name = "cache_reseed"
required-features = ["host"]
[[test]]
name = "build_cache_gradle"
required-features = ["host"]
[[test]]
name = "slot_docker_store"
required-features = ["host"]
[lints]
workspace = true