diff --git a/ci/codebuild/amazonlinux-2.yml b/ci/codebuild/amazonlinux-2.yml new file mode 100644 index 0000000..71c0b59 --- /dev/null +++ b/ci/codebuild/amazonlinux-2.yml @@ -0,0 +1,12 @@ +version: 0.2 +phases: + pre_build: + commands: + - yum install -y zip + build: + commands: + - cmake3 -S . -B build -DENABLE_TESTS=ON -DTEST_RESOURCE_PREFIX=al2arm -GNinja + - cd build + - ninja-build + - ninja-build aws-lambda-package-lambda-test-fun + - ctest3 --output-on-failure diff --git a/ci/docker/amazon-linux-2 b/ci/docker/amazon-linux-2 new file mode 100644 index 0000000..787af12 --- /dev/null +++ b/ci/docker/amazon-linux-2 @@ -0,0 +1,6 @@ +FROM public.ecr.aws/amazonlinux/amazonlinux:2 +RUN yum install -y cmake3 ninja-build git gcc-c++ openssl-devel curl-devel +RUN git clone https://github.com/aws/aws-sdk-cpp --recurse-submodules +RUN cmake3 -Saws-sdk-cpp -Baws-sdk-cpp/build -DBUILD_ONLY=lambda -DENABLE_TESTING=OFF -GNinja +RUN cd aws-sdk-cpp/build && ninja-build && ninja-build install +RUN yum install -y openssl-static diff --git a/ci/docker/ubuntu-linux-18.04 b/ci/docker/ubuntu-linux-18.04 index 175ea82..0c43c97 100644 --- a/ci/docker/ubuntu-linux-18.04 +++ b/ci/docker/ubuntu-linux-18.04 @@ -9,7 +9,7 @@ sh cmake-install --skip-license --prefix=/usr --exclude-subdirectory; RUN pip3 install --upgrade pip -RUN git clone https://github.com/aws/aws-sdk-cpp.git +RUN git clone https://github.com/aws/aws-sdk-cpp.git --recurse-submodules RUN update-alternatives --set cc /usr/bin/clang RUN update-alternatives --set c++ /usr/bin/clang++ diff --git a/tests/runtime_tests.cpp b/tests/runtime_tests.cpp index 9547d6b..64ad79f 100644 --- a/tests/runtime_tests.cpp +++ b/tests/runtime_tests.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -16,6 +17,7 @@ #include #include #include +#include extern std::string aws_prefix; @@ -93,7 +95,13 @@ struct LambdaRuntimeTest : public ::testing::Test { Model::FunctionCode funcode; funcode.SetZipFile(std::move(zip_file_bytes)); create_function_request.SetCode(std::move(funcode)); - create_function_request.SetRuntime(Aws::Lambda::Model::Runtime::provided); + create_function_request.SetRuntime(Aws::Lambda::Model::Runtime::provided_al2); + + std::vector lambda_architectures = {Aws::Lambda::Model::Architecture::x86_64}; +#ifdef __aarch64__ + lambda_architectures[0] = Aws::Lambda::Model::Architecture::arm64; +#endif + create_function_request.SetArchitectures(lambda_architectures); auto outcome = m_lambda_client.CreateFunction(create_function_request); ASSERT_TRUE(outcome.IsSuccess()) << "Failed to create function " << function_name;