diff --git a/.circleci/config.yml b/.circleci/config.yml index 9675e46b98..b51957e05f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -88,11 +88,11 @@ commands: command: | cat\<< EOF > ~/.cargo/config.toml [patch.crates-io] - shuttle-codegen = { path = "$PWD/shuttle/codegen" } - shuttle-common = { path = "$PWD/shuttle/common" } - shuttle-proto = { path = "$PWD/shuttle/proto" } - shuttle-runtime = { path = "$PWD/shuttle/runtime" } - shuttle-service = { path = "$PWD/shuttle/service" } + shuttle-codegen = { path = "$PWD/codegen" } + shuttle-common = { path = "$PWD/common" } + shuttle-proto = { path = "$PWD/proto" } + shuttle-runtime = { path = "$PWD/runtime" } + shuttle-service = { path = "$PWD/service" } shuttle-aws-rds = { path = "$PWD/resources/aws-rds" } shuttle-persist = { path = "$PWD/resources/persist" } @@ -178,24 +178,28 @@ jobs: steps: - checkout - restore-cargo-cache - # Check this to make sure we do not include patched dependencies in - # the Cargo.lock. + # Check this to make sure we do not include patched dependencies in the Cargo.lock. - run: command: | - [[ -z $(cat Cargo.lock | grep "\[\[patch.unused\]\]") ]] + [ -z $(grep "\[\[patch.unused\]\]" Cargo.lock) ] - run: cargo fmt --all --check # TODO: this is incompatible with workspace inheritance, uncomment when # https://github.com/DevinR528/cargo-sort/pull/29 is merged # - run: cargo install cargo-sort # - run: cargo sort --check --workspace - - run: | - cargo clippy --tests \ - --all-targets \ - --all-features \ - --no-deps -- \ - --D warnings \ - -A clippy::let-unit-value \ - -A clippy::format-push-string + - run: cargo clippy --tests --all-targets --all-features --no-deps -- --D warnings + - save-cargo-cache + test-member: + parameters: + crate: + description: "Crate in workspace to test" + type: string + executor: docker-rust + steps: + - checkout + - restore-cargo-cache + - apply-patches + - run: cargo test --package << parameters.crate >> --all-features -- --nocapture - save-cargo-cache check-standalone: parameters: @@ -222,9 +226,7 @@ jobs: << parameters.features >> \ --manifest-path << parameters.path >>/Cargo.toml \ --no-deps -- \ - --D warnings \ - -A clippy::let-unit-value \ - -A clippy::format-push-string + --D warnings - run: cargo test << parameters.features >> --manifest-path << parameters.path >>/Cargo.toml -- --nocapture - save-cargo-cache platform-test: @@ -599,27 +601,26 @@ workflows: ci: jobs: - workspace - - check-standalone: - name: << matrix.path >> + - test-member: + name: << matrix.crate >> matrix: parameters: - path: - - resources/aws-rds - - resources/persist - - resources/secrets - - resources/static-folder - - services/shuttle-actix-web - - services/shuttle-axum - - services/shuttle-next - - services/shuttle-poem - - services/shuttle-poise - - services/shuttle-rocket - - services/shuttle-salvo - - services/shuttle-serenity - - services/shuttle-thruster - - services/shuttle-tide - - services/shuttle-tower - - services/shuttle-warp + crate: + - shuttle-persist + - shuttle-secrets + - shuttle-static-folder + - shuttle-actix-web + - shuttle-axum + - shuttle-next + - shuttle-poem + - shuttle-poise + - shuttle-rocket + - shuttle-salvo + - shuttle-serenity + - shuttle-thruster + - shuttle-tide + - shuttle-tower + - shuttle-warp - check-standalone: # shuttle-shared-db has mutually exclusive features # so we run checks for each feature separately @@ -627,7 +628,9 @@ workflows: matrix: alias: check-standalone-shared-db parameters: - path: [resources/shared-db] + path: + # resources/aws-rds has no tests, but also has mutually exclusive features + - resources/shared-db features: - "-F mongodb" - "-F postgres" @@ -639,21 +642,19 @@ workflows: matrix: parameters: crate: - [ - "shuttle-auth", - "cargo-shuttle", - "shuttle-codegen", - "shuttle-common", - "shuttle-deployer", - "shuttle-proto", - "shuttle-provisioner", - "shuttle-runtime", - "shuttle-service" - ] + - shuttle-auth + - cargo-shuttle + - shuttle-codegen + - shuttle-common + - shuttle-deployer + - shuttle-proto + - shuttle-provisioner + - shuttle-runtime + - shuttle-service - e2e-test: requires: - platform-test - - check-standalone + - test-member - check-standalone-shared-db filters: branches: diff --git a/Cargo.lock b/Cargo.lock index cb8a84a114..2897497c7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1318,12 +1318,6 @@ dependencies = [ "vsimd", ] -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "basic-toml" version = "0.1.2" @@ -1968,12 +1962,6 @@ dependencies = [ "windows-sys 0.45.0", ] -[[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - [[package]] name = "const-random" version = "0.1.15" @@ -2320,16 +2308,6 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" -[[package]] -name = "crypto-bigint" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21" -dependencies = [ - "generic-array", - "subtle", -] - [[package]] name = "crypto-common" version = "0.1.6" @@ -2498,17 +2476,6 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid", - "crypto-bigint", - "pem-rfc7468", -] - [[package]] name = "der-parser" version = "8.2.0" @@ -4275,9 +4242,6 @@ name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" -dependencies = [ - "spin 0.5.2", -] [[package]] name = "leb128" @@ -4730,24 +4694,6 @@ dependencies = [ "rand 0.8.5", ] -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "ndk-context" version = "0.1.1" @@ -4840,23 +4786,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-bigint-dig" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2399c9463abc5f909349d8aa9ba080e0b88b3ce2885389b60b993f39b1a56905" -dependencies = [ - "byteorder", - "lazy_static", - "libm", - "num-integer", - "num-iter", - "num-traits", - "rand 0.8.5", - "smallvec", - "zeroize", -] - [[package]] name = "num-integer" version = "0.1.45" @@ -4867,17 +4796,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-iter" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" -dependencies = [ - "autocfg 1.1.0", - "num-integer", - "num-traits", -] - [[package]] name = "num-traits" version = "0.2.15" @@ -5265,15 +5183,6 @@ dependencies = [ "base64 0.13.1", ] -[[package]] -name = "pem-rfc7468" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01de5d978f34aa4b2296576379fcc416034702fd94117c56ffd8a1a767cefb30" -dependencies = [ - "base64ct", -] - [[package]] name = "percent-encoding" version = "2.3.0" @@ -5381,28 +5290,6 @@ dependencies = [ "crossbeam-channel", ] -[[package]] -name = "pkcs1" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78f66c04ccc83dd4486fd46c33896f4e17b24a7a3a6400dedc48ed0ddd72320" -dependencies = [ - "der", - "pkcs8", - "zeroize", -] - -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der", - "spki", - "zeroize", -] - [[package]] name = "pkg-config" version = "0.3.27" @@ -6391,26 +6278,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56770675ebc04927ded3e60633437841581c285dc6236109ea25fbf3beb7b59e" -[[package]] -name = "rsa" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf22754c49613d2b3b119f0e5d46e34a2c628a937e3024b8762de4e7d8c710b" -dependencies = [ - "byteorder", - "digest 0.10.7", - "num-bigint-dig", - "num-integer", - "num-iter", - "num-traits", - "pkcs1", - "pkcs8", - "rand_core 0.6.4", - "smallvec", - "subtle", - "zeroize", -] - [[package]] name = "rust-embed" version = "6.7.0" @@ -7128,17 +6995,6 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "shuttle-aws-rds" -version = "0.19.0" -dependencies = [ - "async-trait", - "paste", - "serde", - "shuttle-service", - "sqlx", -] - [[package]] name = "shuttle-axum" version = "0.19.0" @@ -7491,17 +7347,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "shuttle-shared-db" -version = "0.19.0" -dependencies = [ - "async-trait", - "mongodb", - "serde", - "shuttle-service", - "sqlx", -] - [[package]] name = "shuttle-static-folder" version = "0.19.0" @@ -7682,16 +7527,6 @@ dependencies = [ "lock_api", ] -[[package]] -name = "spki" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" -dependencies = [ - "base64ct", - "der", -] - [[package]] name = "sqlformat" version = "0.2.1" @@ -7728,7 +7563,6 @@ dependencies = [ "chrono", "crc", "crossbeam-queue", - "digest 0.10.7", "dirs 4.0.0", "dotenvy", "either", @@ -7739,7 +7573,6 @@ dependencies = [ "futures-executor", "futures-intrusive", "futures-util", - "generic-array", "hashlink", "hex", "hkdf 0.12.3", @@ -7751,12 +7584,10 @@ dependencies = [ "log", "md-5", "memchr", - "num-bigint", "once_cell", "paste", "percent-encoding", "rand 0.8.5", - "rsa", "rustls 0.20.8", "rustls-pemfile", "serde", @@ -7801,10 +7632,8 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" dependencies = [ - "native-tls", "once_cell", "tokio", - "tokio-native-tls", "tokio-rustls 0.23.4", ] @@ -8417,16 +8246,6 @@ dependencies = [ "syn 2.0.18", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.23.4" diff --git a/Cargo.toml b/Cargo.toml index 91d848e5bc..e57d74685e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,14 +9,20 @@ members = [ "gateway", "proto", "provisioner", - "resources/*", + "resources/persist", + "resources/secrets", + "resources/static-folder", "runtime", "service", "services/*", ] +# resources/aws-rds and resources/shared-db have mutually exclusive +# feature flags and are therefore excluded to not conflict in an --all-features test. exclude = [ "e2e", "examples", + "resources/aws-rds", + "resources/shared-db", ] [workspace.package] @@ -28,12 +34,12 @@ repository = "https://github.com/shuttle-hq/shuttle" # https://doc.rust-lang.org/cargo/reference/workspaces.html#the-workspacedependencies-table [workspace.dependencies] # libraries -shuttle-codegen = { path = "codegen", version = "0.19.0" } -shuttle-common = { path = "common", version = "0.19.0" } -shuttle-proto = { path = "proto", version = "0.19.0" } -shuttle-service = { path = "service", version = "0.19.0" } +shuttle-codegen = { path = "codegen" } +shuttle-common = { path = "common" } +shuttle-proto = { path = "proto" } +shuttle-service = { path = "service" } # used by services/* -shuttle-runtime = { path = "runtime", version = "0.19.0" } +shuttle-runtime = { path = "runtime" } anyhow = "1.0.66" async-trait = "0.1.58" diff --git a/resources/aws-rds/Cargo.toml b/resources/aws-rds/Cargo.toml index 4d0b969df2..d83d191d4b 100644 --- a/resources/aws-rds/Cargo.toml +++ b/resources/aws-rds/Cargo.toml @@ -7,14 +7,11 @@ description = "Plugin to provision AWS RDS resources" keywords = ["shuttle-service", "rds"] [dependencies] -async-trait = { workspace = true } +async-trait = "0.1.56" paste = "1.0.7" -serde = { workspace = true, features = ["derive"] } -sqlx = { workspace = true } - -[dependencies.shuttle-service] -workspace = true -default-features = false +serde = { version = "1.0.148", features = ["derive"] } +shuttle-service = { path = "../../service", default-features = false } +sqlx = "0.6.2" [features] postgres = ["sqlx/postgres", "sqlx/runtime-tokio-native-tls"] diff --git a/resources/persist/Cargo.toml b/resources/persist/Cargo.toml index 5be1e624f2..3603c448f1 100644 --- a/resources/persist/Cargo.toml +++ b/resources/persist/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-persist" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Plugin for persist objects" keywords = ["shuttle-service", "persistence"] @@ -14,7 +15,6 @@ thiserror = { workspace = true } [dependencies.shuttle-common] workspace = true -default-features = false [dependencies.shuttle-service] workspace = true diff --git a/resources/secrets/Cargo.toml b/resources/secrets/Cargo.toml index 3a3fd1ef4b..81740f950e 100644 --- a/resources/secrets/Cargo.toml +++ b/resources/secrets/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-secrets" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Plugin to for managing secrets on shuttle" keywords = ["shuttle-service", "secrets"] diff --git a/resources/shared-db/Cargo.toml b/resources/shared-db/Cargo.toml index e844643fc1..3556178e84 100644 --- a/resources/shared-db/Cargo.toml +++ b/resources/shared-db/Cargo.toml @@ -7,14 +7,11 @@ description = "Plugin for managing shared databases on shuttle" keywords = ["shuttle-service", "database"] [dependencies] -async-trait = { workspace = true } -mongodb = { workspace = true, optional = true } -serde = { workspace = true, features = ["derive"] } -sqlx = { workspace = true, optional = true } - -[dependencies.shuttle-service] -workspace = true -default-features = false +async-trait = "0.1.68" +mongodb = { version = "2.5.0", optional = true } +serde = { version = "1.0.164", features = ["derive"] } +shuttle-service = { path = "../../service", default-features = false } +sqlx = { version = "0.6.3", optional = true } [features] postgres = ["sqlx/postgres", "sqlx/runtime-tokio-native-tls"] diff --git a/resources/static-folder/Cargo.toml b/resources/static-folder/Cargo.toml index 4f0a06ffd3..103a0708ec 100644 --- a/resources/static-folder/Cargo.toml +++ b/resources/static-folder/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-static-folder" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Plugin to get a static folder at runtime on shuttle" keywords = ["shuttle-service", "static-folder"] diff --git a/services/shuttle-actix-web/Cargo.toml b/services/shuttle-actix-web/Cargo.toml index b251b3ddc8..550b9aec1c 100644 --- a/services/shuttle-actix-web/Cargo.toml +++ b/services/shuttle-actix-web/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-actix-web" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run an actix webserver on shuttle" keywords = ["shuttle-service", "actix"] diff --git a/services/shuttle-axum/Cargo.toml b/services/shuttle-axum/Cargo.toml index 5aee1b9990..1251e59f93 100644 --- a/services/shuttle-axum/Cargo.toml +++ b/services/shuttle-axum/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-axum" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run an axum webserver on shuttle" keywords = ["shuttle-service", "axum"] diff --git a/services/shuttle-next/Cargo.toml b/services/shuttle-next/Cargo.toml index 5905cb1cb8..d1b5971cd4 100644 --- a/services/shuttle-next/Cargo.toml +++ b/services/shuttle-next/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-next" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Macros and aliases to deploy wasm on the shuttle platform (https://www.shuttle.rs/)" homepage = "https://www.shuttle.rs" diff --git a/services/shuttle-poem/Cargo.toml b/services/shuttle-poem/Cargo.toml index e0a6cab95b..11f2c7e84c 100644 --- a/services/shuttle-poem/Cargo.toml +++ b/services/shuttle-poem/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-poem" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a poem webserver on shuttle" keywords = ["shuttle-service", "poem"] diff --git a/services/shuttle-poise/Cargo.toml b/services/shuttle-poise/Cargo.toml index dbc76d60de..5d0b36f4c7 100644 --- a/services/shuttle-poise/Cargo.toml +++ b/services/shuttle-poise/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-poise" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a poise discord bot on shuttle" keywords = ["shuttle-service", "poise", "discord-bot", "serenity"] diff --git a/services/shuttle-rocket/Cargo.toml b/services/shuttle-rocket/Cargo.toml index 79f22bcb26..f8c0d51531 100644 --- a/services/shuttle-rocket/Cargo.toml +++ b/services/shuttle-rocket/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-rocket" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a rocket webserver on shuttle" keywords = ["shuttle-service", "rocket"] diff --git a/services/shuttle-salvo/Cargo.toml b/services/shuttle-salvo/Cargo.toml index 428e00d3bc..9eafcd1e2d 100644 --- a/services/shuttle-salvo/Cargo.toml +++ b/services/shuttle-salvo/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-salvo" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a salvo webserver on shuttle" keywords = ["shuttle-service", "salvo"] diff --git a/services/shuttle-serenity/Cargo.toml b/services/shuttle-serenity/Cargo.toml index 9160d25a5a..3bbcfa94fb 100644 --- a/services/shuttle-serenity/Cargo.toml +++ b/services/shuttle-serenity/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-serenity" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a serenity server on shuttle" keywords = ["shuttle-service", "serenity"] diff --git a/services/shuttle-thruster/Cargo.toml b/services/shuttle-thruster/Cargo.toml index 4e2fb80dcb..88c1786908 100644 --- a/services/shuttle-thruster/Cargo.toml +++ b/services/shuttle-thruster/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-thruster" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a thruster webserver on shuttle" keywords = ["shuttle-service", "thruster"] diff --git a/services/shuttle-tide/Cargo.toml b/services/shuttle-tide/Cargo.toml index 38c418beba..f1e4f66953 100644 --- a/services/shuttle-tide/Cargo.toml +++ b/services/shuttle-tide/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-tide" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a tide webserver on shuttle" keywords = ["shuttle-service", "tide"] diff --git a/services/shuttle-tower/Cargo.toml b/services/shuttle-tower/Cargo.toml index 3ff7681920..09ddb92e07 100644 --- a/services/shuttle-tower/Cargo.toml +++ b/services/shuttle-tower/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-tower" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a tower webserver on shuttle" keywords = ["shuttle-service", "tower"] diff --git a/services/shuttle-warp/Cargo.toml b/services/shuttle-warp/Cargo.toml index 16db1bd3e6..54a5be0429 100644 --- a/services/shuttle-warp/Cargo.toml +++ b/services/shuttle-warp/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "shuttle-warp" version = "0.19.0" -edition = "2021" -license = "Apache-2.0" +edition.workspace = true +license.workspace = true +repository.workspace = true description = "Service implementation to run a warp webserver on shuttle" keywords = ["shuttle-service", "warp"]