From 462aef63945883d9567b2e8cd2be324016f8111e Mon Sep 17 00:00:00 2001 From: John DiSanti Date: Mon, 8 Aug 2022 16:29:22 -0700 Subject: [PATCH] Fix SDK integration tests in local dev and add CI step to verify (#1600) --- .github/workflows/ci.yml | 1 + aws/rust-runtime/aws-inlineable/Cargo.toml | 2 +- .../rustsdk/IntegrationTestDependencies.kt | 22 +++++----- aws/sdk/integration-tests/Cargo.toml | 1 + aws/sdk/integration-tests/dynamodb/Cargo.toml | 12 +++--- aws/sdk/integration-tests/ec2/Cargo.toml | 6 +-- aws/sdk/integration-tests/glacier/Cargo.toml | 6 +-- aws/sdk/integration-tests/iam/Cargo.toml | 7 ++-- aws/sdk/integration-tests/kms/Cargo.toml | 6 +-- aws/sdk/integration-tests/lambda/Cargo.toml | 14 +++---- aws/sdk/integration-tests/polly/Cargo.toml | 6 +-- .../integration-tests/qldbsession/Cargo.toml | 4 +- aws/sdk/integration-tests/s3/Cargo.toml | 5 +-- .../integration-tests/s3control/Cargo.toml | 8 ++-- aws/sdk/integration-tests/sts/Cargo.toml | 2 +- .../transcribestreaming/Cargo.toml | 14 +++---- ci.mk | 4 ++ .../rust/codegen/rustlang/CargoDependency.kt | 20 ++++----- rust-runtime/aws-smithy-async/Cargo.toml | 2 +- ...check-aws-sdk-standalone-integration-tests | 42 +++++++++++++++++++ 20 files changed, 116 insertions(+), 68 deletions(-) create mode 100755 tools/ci-build/scripts/check-aws-sdk-standalone-integration-tests diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6ce976aa3..96da56996 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -95,6 +95,7 @@ jobs: - action: check-aws-sdk-smoketest-additional-checks - action: check-aws-sdk-smoketest-docs-clippy-udeps - action: check-aws-sdk-smoketest-unit-tests + - action: check-aws-sdk-standalone-integration-tests - action: check-rust-runtimes-and-tools steps: - uses: actions/checkout@v3 diff --git a/aws/rust-runtime/aws-inlineable/Cargo.toml b/aws/rust-runtime/aws-inlineable/Cargo.toml index f169ccea7..bf482d103 100644 --- a/aws/rust-runtime/aws-inlineable/Cargo.toml +++ b/aws/rust-runtime/aws-inlineable/Cargo.toml @@ -29,7 +29,7 @@ http-body = "0.4.5" md-5 = "0.10.1" ring = "0.16" tokio = { version = "1", features = ["full"] } -tokio-stream = "0.1.7" +tokio-stream = "0.1.5" tower = { version = "0.4", default-features = false } tracing = "0.1" diff --git a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/IntegrationTestDependencies.kt b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/IntegrationTestDependencies.kt index f8d67754c..ebfd5ce07 100644 --- a/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/IntegrationTestDependencies.kt +++ b/aws/sdk-codegen/src/main/kotlin/software/amazon/smithy/rustsdk/IntegrationTestDependencies.kt @@ -114,14 +114,14 @@ class S3TestDependencies( } } -private val AsyncStd = CargoDependency("async-std", CratesIo("1.12"), scope = DependencyScope.Dev) -private val AsyncStream = CargoDependency("async-stream", CratesIo("0.3"), DependencyScope.Dev) -private val Criterion = CargoDependency("criterion", CratesIo("0.3"), scope = DependencyScope.Dev) -private val FuturesCore = CargoDependency("futures-core", CratesIo("0.3"), DependencyScope.Dev) -private val FuturesUtil = CargoDependency("futures-util", CratesIo("0.3"), scope = DependencyScope.Dev) -private val Hound = CargoDependency("hound", CratesIo("3.4"), DependencyScope.Dev) -private val SerdeJson = CargoDependency("serde_json", CratesIo("1"), features = emptySet(), scope = DependencyScope.Dev) -private val Smol = CargoDependency("smol", CratesIo("1.2"), scope = DependencyScope.Dev) -private val Tokio = CargoDependency("tokio", CratesIo("1"), features = setOf("macros", "test-util"), scope = DependencyScope.Dev) -private val Tracing = CargoDependency("tracing", CratesIo("0.1"), scope = DependencyScope.Dev) -private val TracingSubscriber = CargoDependency("tracing-subscriber", CratesIo("0.2"), scope = DependencyScope.Dev) +private val AsyncStd = CargoDependency("async-std", CratesIo("1.12.0"), scope = DependencyScope.Dev) +private val AsyncStream = CargoDependency("async-stream", CratesIo("0.3.0"), DependencyScope.Dev) +private val Criterion = CargoDependency("criterion", CratesIo("0.3.0"), scope = DependencyScope.Dev) +private val FuturesCore = CargoDependency("futures-core", CratesIo("0.3.0"), DependencyScope.Dev) +private val FuturesUtil = CargoDependency("futures-util", CratesIo("0.3.0"), scope = DependencyScope.Dev) +private val Hound = CargoDependency("hound", CratesIo("3.4.0"), DependencyScope.Dev) +private val SerdeJson = CargoDependency("serde_json", CratesIo("1.0.0"), features = emptySet(), scope = DependencyScope.Dev) +private val Smol = CargoDependency("smol", CratesIo("1.2.0"), scope = DependencyScope.Dev) +private val Tokio = CargoDependency("tokio", CratesIo("1.0.0"), features = setOf("macros", "test-util"), scope = DependencyScope.Dev) +private val Tracing = CargoDependency("tracing", CratesIo("0.1.0"), scope = DependencyScope.Dev) +private val TracingSubscriber = CargoDependency("tracing-subscriber", CratesIo("0.3.5"), scope = DependencyScope.Dev, features = setOf("env-filter")) diff --git a/aws/sdk/integration-tests/Cargo.toml b/aws/sdk/integration-tests/Cargo.toml index 06e119e43..0378cd24f 100644 --- a/aws/sdk/integration-tests/Cargo.toml +++ b/aws/sdk/integration-tests/Cargo.toml @@ -7,6 +7,7 @@ members = [ "glacier", "iam", "kms", + "lambda", "polly", "qldbsession", "s3", diff --git a/aws/sdk/integration-tests/dynamodb/Cargo.toml b/aws/sdk/integration-tests/dynamodb/Cargo.toml index 70437c8f0..bb67e6292 100644 --- a/aws/sdk/integration-tests/dynamodb/Cargo.toml +++ b/aws/sdk/integration-tests/dynamodb/Cargo.toml @@ -16,15 +16,15 @@ aws-smithy-types = { path = "../../build/aws-sdk/sdk/aws-smithy-types" } aws-smithy-protocol-test = { path = "../../build/aws-sdk/sdk/aws-smithy-protocol-test" } aws-smithy-async = { path = "../../build/aws-sdk/sdk/aws-smithy-async" } aws-types = { path = "../../build/aws-sdk/sdk/aws-types" } -bytes = "1" +bytes = "1.0.0" # TODO(https://github.com/awslabs/smithy-rs/issues/1044) v3.5 has an unmaintained dependency, upgrade this when possible criterion = { version = "0.3.5" } -futures-util = "0.3" -http = "0.2.4" -serde_json = "1" -tokio = { version = "1", features = ["full", "test-util"] } +futures-util = "0.3.16" +http = "0.2.0" +serde_json = "1.0.0" +tokio = { version = "1.0.0", features = ["full", "test-util"] } tracing-subscriber = { version = "0.3.5", features = ["env-filter"] } -tokio-stream = "0.1.8" +tokio-stream = "0.1.5" [[bench]] name = "deserialization_bench" diff --git a/aws/sdk/integration-tests/ec2/Cargo.toml b/aws/sdk/integration-tests/ec2/Cargo.toml index cf95c01af..7a88ef708 100644 --- a/aws/sdk/integration-tests/ec2/Cargo.toml +++ b/aws/sdk/integration-tests/ec2/Cargo.toml @@ -6,6 +6,6 @@ edition = "2021" [dev-dependencies] aws-sdk-ec2 = { path = "../../build/aws-sdk/sdk/ec2" } aws-smithy-client = { path = "../../build/aws-sdk/sdk/aws-smithy-client", features = ["test-util"]} -tokio = { version = "1", features = ["full"]} -http = "0.2.6" -tokio-stream = "0.1.8" +tokio = { version = "1.0.0", features = ["full"]} +http = "0.2.0" +tokio-stream = "0.1.5" diff --git a/aws/sdk/integration-tests/glacier/Cargo.toml b/aws/sdk/integration-tests/glacier/Cargo.toml index 2f37e1caa..f1e21a6df 100644 --- a/aws/sdk/integration-tests/glacier/Cargo.toml +++ b/aws/sdk/integration-tests/glacier/Cargo.toml @@ -12,7 +12,7 @@ aws-http = { path = "../../build/aws-sdk/sdk/aws-http"} aws-sdk-glacier = { path = "../../build/aws-sdk/sdk/glacier" } aws-smithy-client = { path = "../../build/aws-sdk/sdk/aws-smithy-client", features = ["test-util", "rustls"] } aws-smithy-protocol-test = { path = "../../build/aws-sdk/sdk/aws-smithy-protocol-test"} -bytes = "1" -http = "0.2.3" -tokio = { version = "1", features = ["full", "test-util"]} +bytes = "1.0.0" +http = "0.2.0" +tokio = { version = "1.0.0", features = ["full", "test-util"]} tracing-subscriber = { version = "0.3.5", features = ["env-filter"] } diff --git a/aws/sdk/integration-tests/iam/Cargo.toml b/aws/sdk/integration-tests/iam/Cargo.toml index 498c8dce1..2103b00c7 100644 --- a/aws/sdk/integration-tests/iam/Cargo.toml +++ b/aws/sdk/integration-tests/iam/Cargo.toml @@ -8,11 +8,12 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dev-dependencies] +aws-endpoint = { path = "../../build/aws-sdk/sdk/aws-endpoint"} aws-http = { path = "../../build/aws-sdk/sdk/aws-http"} aws-sdk-iam = { path = "../../build/aws-sdk/sdk/iam" } aws-smithy-client = { path = "../../build/aws-sdk/sdk/aws-smithy-client", features = ["test-util", "rustls"] } aws-smithy-http = { path = "../../build/aws-sdk/sdk/aws-smithy-http" } -bytes = "1" -http = "0.2.3" -tokio = { version = "1", features = ["full", "test-util"]} +bytes = "1.0.0" +http = "0.2.0" +tokio = { version = "1.0.0", features = ["full", "test-util"]} tracing-subscriber = { version = "0.3.5", features = ["env-filter"] } diff --git a/aws/sdk/integration-tests/kms/Cargo.toml b/aws/sdk/integration-tests/kms/Cargo.toml index bdcd456f4..ebc36bd39 100644 --- a/aws/sdk/integration-tests/kms/Cargo.toml +++ b/aws/sdk/integration-tests/kms/Cargo.toml @@ -13,7 +13,7 @@ aws-sdk-kms = { path = "../../build/aws-sdk/sdk/kms" } aws-smithy-client = { path = "../../build/aws-sdk/sdk/aws-smithy-client", features = ["test-util", "rustls"] } aws-smithy-http = { path = "../../build/aws-sdk/sdk/aws-smithy-http" } aws-smithy-types = { path = "../../build/aws-sdk/sdk/aws-smithy-types" } -bytes = "1" -http = "0.2.3" -tokio = { version = "1", features = ["full", "test-util"]} +bytes = "1.0.0" +http = "0.2.0" +tokio = { version = "1.0.0", features = ["full", "test-util"]} tracing-subscriber = { version = "0.3.5", features = ["env-filter"] } diff --git a/aws/sdk/integration-tests/lambda/Cargo.toml b/aws/sdk/integration-tests/lambda/Cargo.toml index ead785cd2..898230de6 100644 --- a/aws/sdk/integration-tests/lambda/Cargo.toml +++ b/aws/sdk/integration-tests/lambda/Cargo.toml @@ -5,16 +5,16 @@ authors = ["AWS Rust SDK Team ", "Zelda Hessler ", "John DiSanti