From 917c789ba12cc00514300b599abbc0eaf4a39f8a Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:42:33 -0800 Subject: [PATCH 01/18] Create check-compiles.yml --- .github/workflows/check-compiles.yml | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/check-compiles.yml diff --git a/.github/workflows/check-compiles.yml b/.github/workflows/check-compiles.yml new file mode 100644 index 0000000..3dc8799 --- /dev/null +++ b/.github/workflows/check-compiles.yml @@ -0,0 +1,31 @@ +name: CMake + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_CLANG_TIDY=clang-tidy + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} From d23dc0f1d22c07853cd8b97a94ac24772da10ca8 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:44:23 -0800 Subject: [PATCH 02/18] Create check-format.yml --- .github/workflows/check-format.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/check-format.yml diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml new file mode 100644 index 0000000..320be60 --- /dev/null +++ b/.github/workflows/check-format.yml @@ -0,0 +1,17 @@ +name: CMake + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Check Formatting + run: ./ci/codebuild/format-check.sh From c29a5af8b2953bb39ad89b27b4d2e49bb6b1efd0 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:49:35 -0800 Subject: [PATCH 03/18] Update check-compiles.yml --- .github/workflows/check-compiles.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/check-compiles.yml b/.github/workflows/check-compiles.yml index 3dc8799..2396f06 100644 --- a/.github/workflows/check-compiles.yml +++ b/.github/workflows/check-compiles.yml @@ -20,6 +20,9 @@ jobs: steps: - uses: actions/checkout@v2 + + - name: Install Dependencies + run: apt-get install -y libcurl4-openssl-dev - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From b026a3e38583c4288d4f7854767c94a753d87f03 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:50:53 -0800 Subject: [PATCH 04/18] Update check-compiles.yml --- .github/workflows/check-compiles.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-compiles.yml b/.github/workflows/check-compiles.yml index 2396f06..7c65cae 100644 --- a/.github/workflows/check-compiles.yml +++ b/.github/workflows/check-compiles.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - name: Install Dependencies - run: apt-get install -y libcurl4-openssl-dev + run: sudo apt-get install -y libcurl4-openssl-dev - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From b43a47b1b5b614f5526a6432d71bca0a7b044ea8 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:54:52 -0800 Subject: [PATCH 05/18] Update check-compiles.yml --- .github/workflows/check-compiles.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-compiles.yml b/.github/workflows/check-compiles.yml index 7c65cae..58f0519 100644 --- a/.github/workflows/check-compiles.yml +++ b/.github/workflows/check-compiles.yml @@ -1,4 +1,4 @@ -name: CMake +name: Compile Test on: push: From 0677e41b64f1f204d3865c5f2ebdf33c189ff1e8 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 14:59:58 -0800 Subject: [PATCH 06/18] Create workflow.yml --- .github/workflows/workflow.yml | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/workflow.yml diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..d011c25 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,44 @@ +name: Validate Project + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Debug + +jobs: + build: + # The CMake configure and build commands are platform agnostic and should work equally + # well on Windows or Mac. You can convert this to a matrix build if you need + # cross-platform coverage. + # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install Dependencies + run: sudo apt-get install -y libcurl4-openssl-dev + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_CLANG_TIDY=clang-tidy + + - name: Build It + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} + + format: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Check Formatting + run: ./ci/codebuild/format-check.sh + From ecefd1c8f0015c094c48a9cd72be4a5185a16e6d Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:05:42 -0800 Subject: [PATCH 07/18] Delete check-format.yml --- .github/workflows/check-format.yml | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 .github/workflows/check-format.yml diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml deleted file mode 100644 index 320be60..0000000 --- a/.github/workflows/check-format.yml +++ /dev/null @@ -1,17 +0,0 @@ -name: CMake - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: Check Formatting - run: ./ci/codebuild/format-check.sh From 77f59f074c96ac6bcb8c1de0d2b8888da830ddb9 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:05:49 -0800 Subject: [PATCH 08/18] Delete check-compiles.yml --- .github/workflows/check-compiles.yml | 34 ---------------------------- 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/check-compiles.yml diff --git a/.github/workflows/check-compiles.yml b/.github/workflows/check-compiles.yml deleted file mode 100644 index 58f0519..0000000 --- a/.github/workflows/check-compiles.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Compile Test - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Debug - -jobs: - build: - # The CMake configure and build commands are platform agnostic and should work equally - # well on Windows or Mac. You can convert this to a matrix build if you need - # cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - - - name: Install Dependencies - run: sudo apt-get install -y libcurl4-openssl-dev - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_CLANG_TIDY=clang-tidy - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} From 48aef672a8458329da5ee73dac63b34564d459d8 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:06:47 -0800 Subject: [PATCH 09/18] Update workflow.yml --- .github/workflows/workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index d011c25..7abad42 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - name: Install Dependencies - run: sudo apt-get install -y libcurl4-openssl-dev + run: sudo apt-get install -y clang-tidy libcurl4-openssl-dev - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From 0cac72cde528752766b7d8a0c96778a372e911f5 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:15:23 -0800 Subject: [PATCH 10/18] satisfy the format check --- src/runtime.cpp | 8 +++++--- tests/gtest/gtest.h | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/runtime.cpp b/src/runtime.cpp index 9175084..4884b09 100644 --- a/src/runtime.cpp +++ b/src/runtime.cpp @@ -160,9 +160,11 @@ static int rt_curl_debug_callback(CURL* handle, curl_infotype type, char* data, runtime::runtime(std::string const& endpoint) : runtime(endpoint, "AWS_Lambda_Cpp/" + std::string(get_version())) {} runtime::runtime(std::string const& endpoint, std::string const& user_agent) - : m_user_agent_header("User-Agent: " + user_agent), m_endpoints{{endpoint + "/2018-06-01/runtime/init/error", - endpoint + "/2018-06-01/runtime/invocation/next", - endpoint + "/2018-06-01/runtime/invocation/"}}, + : m_user_agent_header("User-Agent: " + user_agent), + m_endpoints{ + {endpoint + "/2018-06-01/runtime/init/error", + endpoint + "/2018-06-01/runtime/invocation/next", + endpoint + "/2018-06-01/runtime/invocation/"}}, m_curl_handle(curl_easy_init()) { if (!m_curl_handle) { diff --git a/tests/gtest/gtest.h b/tests/gtest/gtest.h index 844c9b7..deeb98d 100644 --- a/tests/gtest/gtest.h +++ b/tests/gtest/gtest.h @@ -1,3 +1,4 @@ +// clang-format off // Copyright 2005, Google Inc. // All rights reserved. // From cd873e3211f3c0ec88e5900e88a302f282209558 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:17:55 -0800 Subject: [PATCH 11/18] satisfy clang-tidy warning readability-qualified-auto --- src/runtime.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime.cpp b/src/runtime.cpp index 4884b09..c8d6292 100644 --- a/src/runtime.cpp +++ b/src/runtime.cpp @@ -61,7 +61,7 @@ static size_t write_data(char* ptr, size_t size, size_t nmemb, void* userdata) return 0; } - auto const resp = static_cast(userdata); + auto *const resp = static_cast(userdata); assert(size == 1); (void)size; // avoid warning in release builds assert(resp); @@ -110,7 +110,7 @@ static size_t write_header(char* ptr, size_t size, size_t nmemb, void* userdata) logging::log_debug(LOG_TAG, "received header: %s", std::string(ptr, nmemb).c_str()); - auto const resp = static_cast(userdata); + auto *const resp = static_cast(userdata); assert(resp); for (size_t i = 0; i < nmemb; i++) { if (ptr[i] != ':') { @@ -127,7 +127,7 @@ static size_t write_header(char* ptr, size_t size, size_t nmemb, void* userdata) static size_t read_data(char* buffer, size_t size, size_t nitems, void* userdata) { auto const limit = size * nitems; - auto ctx = static_cast*>(userdata); + auto *ctx = static_cast*>(userdata); assert(ctx); auto const unread = ctx->first.length() - ctx->second; if (0 == unread) { @@ -398,7 +398,7 @@ void run_handler(std::function c { logging::log_info(LOG_TAG, "Initializing the C++ Lambda Runtime version %s", aws::lambda_runtime::get_version()); std::string endpoint("http://"); - if (auto ep = std::getenv("AWS_LAMBDA_RUNTIME_API")) { + if (auto *ep = std::getenv("AWS_LAMBDA_RUNTIME_API")) { assert(ep); logging::log_debug(LOG_TAG, "LAMBDA_SERVER_ADDRESS defined in environment as: %s", ep); endpoint += ep; From 8a8e762927a99abfc44418b5b95b33b46c0148e5 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:19:14 -0800 Subject: [PATCH 12/18] satisfy clang-tidy warning readability-redundant-access-specifiers --- include/aws/lambda-runtime/runtime.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/aws/lambda-runtime/runtime.h b/include/aws/lambda-runtime/runtime.h index 94e1e22..9602369 100644 --- a/include/aws/lambda-runtime/runtime.h +++ b/include/aws/lambda-runtime/runtime.h @@ -163,8 +163,6 @@ class runtime { std::string const& url, std::string const& request_id, invocation_response const& handler_response); - -private: std::string const m_user_agent_header; std::array const m_endpoints; CURL* const m_curl_handle; From bcfda1d77cd3f36cbead85b1967fa44160a65c47 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 15:25:17 -0800 Subject: [PATCH 13/18] reformat src/runtime.cpp --- src/runtime.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime.cpp b/src/runtime.cpp index c8d6292..6d2a1fb 100644 --- a/src/runtime.cpp +++ b/src/runtime.cpp @@ -61,7 +61,7 @@ static size_t write_data(char* ptr, size_t size, size_t nmemb, void* userdata) return 0; } - auto *const resp = static_cast(userdata); + auto* const resp = static_cast(userdata); assert(size == 1); (void)size; // avoid warning in release builds assert(resp); @@ -110,7 +110,7 @@ static size_t write_header(char* ptr, size_t size, size_t nmemb, void* userdata) logging::log_debug(LOG_TAG, "received header: %s", std::string(ptr, nmemb).c_str()); - auto *const resp = static_cast(userdata); + auto* const resp = static_cast(userdata); assert(resp); for (size_t i = 0; i < nmemb; i++) { if (ptr[i] != ':') { @@ -127,7 +127,7 @@ static size_t write_header(char* ptr, size_t size, size_t nmemb, void* userdata) static size_t read_data(char* buffer, size_t size, size_t nitems, void* userdata) { auto const limit = size * nitems; - auto *ctx = static_cast*>(userdata); + auto* ctx = static_cast*>(userdata); assert(ctx); auto const unread = ctx->first.length() - ctx->second; if (0 == unread) { @@ -398,7 +398,7 @@ void run_handler(std::function c { logging::log_info(LOG_TAG, "Initializing the C++ Lambda Runtime version %s", aws::lambda_runtime::get_version()); std::string endpoint("http://"); - if (auto *ep = std::getenv("AWS_LAMBDA_RUNTIME_API")) { + if (auto* ep = std::getenv("AWS_LAMBDA_RUNTIME_API")) { assert(ep); logging::log_debug(LOG_TAG, "LAMBDA_SERVER_ADDRESS defined in environment as: %s", ep); endpoint += ep; From 42f55c5756c16a96066f533178c26e39fbf76dfd Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 16:31:14 -0800 Subject: [PATCH 14/18] Update ubuntu-18.04.yml --- ci/codebuild/ubuntu-18.04.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/codebuild/ubuntu-18.04.yml b/ci/codebuild/ubuntu-18.04.yml index 5313f91..5a39a8f 100644 --- a/ci/codebuild/ubuntu-18.04.yml +++ b/ci/codebuild/ubuntu-18.04.yml @@ -8,8 +8,7 @@ phases: build: commands: - echo Build started on `date` - - ci/codebuild/build.sh -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 - - ci/codebuild/format-check.sh + - ci/codebuild/build.sh -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 - ci/codebuild/run-tests.sh aws-lambda-package-lambda-test-fun ubuntu1804 post_build: commands: From 67e9e9310d9643fb93189510eddcbeab68a85962 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 17:55:09 -0800 Subject: [PATCH 15/18] Revert "Update ubuntu-18.04.yml" This reverts commit 42f55c5756c16a96066f533178c26e39fbf76dfd. --- ci/codebuild/ubuntu-18.04.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/codebuild/ubuntu-18.04.yml b/ci/codebuild/ubuntu-18.04.yml index 5a39a8f..5313f91 100644 --- a/ci/codebuild/ubuntu-18.04.yml +++ b/ci/codebuild/ubuntu-18.04.yml @@ -8,7 +8,8 @@ phases: build: commands: - echo Build started on `date` - - ci/codebuild/build.sh -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 + - ci/codebuild/build.sh -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 + - ci/codebuild/format-check.sh - ci/codebuild/run-tests.sh aws-lambda-package-lambda-test-fun ubuntu1804 post_build: commands: From 1f2a85e45bfd27c737b793e78e1137eae85cf096 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 23 Nov 2021 18:29:43 -0800 Subject: [PATCH 16/18] Update ubuntu-18.04.yml --- ci/codebuild/ubuntu-18.04.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/codebuild/ubuntu-18.04.yml b/ci/codebuild/ubuntu-18.04.yml index 5313f91..5a39a8f 100644 --- a/ci/codebuild/ubuntu-18.04.yml +++ b/ci/codebuild/ubuntu-18.04.yml @@ -8,8 +8,7 @@ phases: build: commands: - echo Build started on `date` - - ci/codebuild/build.sh -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 - - ci/codebuild/format-check.sh + - ci/codebuild/build.sh -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=ubuntu1804 - ci/codebuild/run-tests.sh aws-lambda-package-lambda-test-fun ubuntu1804 post_build: commands: From 74f6eb0396bd86e1b24125fda8d921b94cb643fd Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Wed, 24 Nov 2021 02:58:00 +0000 Subject: [PATCH 17/18] sleep --- tests/runtime_tests.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/runtime_tests.cpp b/tests/runtime_tests.cpp index 0032429..989b844 100644 --- a/tests/runtime_tests.cpp +++ b/tests/runtime_tests.cpp @@ -12,6 +12,7 @@ #include #include #include "gtest/gtest.h" +#include extern std::string aws_prefix; @@ -85,6 +86,9 @@ struct LambdaRuntimeTest : public ::testing::Test { auto outcome = m_lambda_client.CreateFunction(create_function_request); ASSERT_TRUE(outcome.IsSuccess()) << "Failed to create function " << function_name; + + // work around Lambda function pending creation state + sleep(5); } void delete_function(Aws::String const& function_name, bool assert = true) From ed274f93dd2f92c904207f0a2a838d6250d95e7e Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Wed, 24 Nov 2021 00:33:51 -0800 Subject: [PATCH 18/18] reflect fixes made to coedbuild environment for amazon linux --- ci/docker/amazon-linux-2017.03 | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci/docker/amazon-linux-2017.03 b/ci/docker/amazon-linux-2017.03 index f66919a..0ad4621 100644 --- a/ci/docker/amazon-linux-2017.03 +++ b/ci/docker/amazon-linux-2017.03 @@ -1,12 +1,10 @@ FROM amazonlinux:2017.03 RUN yum install gcc64-c++ git ninja-build curl-devel openssl-devel zlib-devel gtest-devel python36-pip zip -y -RUN git clone https://github.com/aws/aws-sdk-cpp.git +RUN git clone --recurse-submodules https://github.com/aws/aws-sdk-cpp RUN curl -fLo cmake-install https://github.com/Kitware/CMake/releases/download/v3.13.0/cmake-3.13.0-Linux-x86_64.sh; \ sh cmake-install --skip-license --prefix=/usr --exclude-subdirectory; RUN pip-3.6 install --upgrade pip -RUN git clone https://github.com/aws/aws-sdk-cpp.git -