diff --git a/.github/docker-images/integration-tests/amazonlinux/Dockerfile b/.github/docker-images/integration-tests/amazonlinux/Dockerfile index c8e606a73..3c826491a 100644 --- a/.github/docker-images/integration-tests/amazonlinux/Dockerfile +++ b/.github/docker-images/integration-tests/amazonlinux/Dockerfile @@ -2,6 +2,21 @@ ARG BASE_IMAGE ARG PRE_RELEASE_IMAGE FROM ${BASE_IMAGE} AS build_integration_tests +############################################################################### +# Install pre-built CMake +############################################################################### +WORKDIR /tmp +RUN curl -sSL https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0.tar.gz -o cmake-3.28.0.tar.gz \ + && tar -zxvf cmake-3.28.0.tar.gz \ + && cd cmake-3.10.0 \ + && ./bootstrap \ + && make -j 2 \ + && make install + +############################################################################### +# Install Prerequisites +############################################################################### + RUN yum -y update && yum -y install \ autoconf \ libtool \ @@ -14,10 +29,15 @@ RUN mkdir -p /root/integration-tests/build \ && cmake .. -DCMAKE_BUILD_TYPE=DEBUG \ && cmake --build . --target aws-iot-device-client-integration-tests +############################################################################### # Actual docker image +############################################################################### + FROM ${PRE_RELEASE_IMAGE} AS runner +############################################################################### # Install openssl for libssl dependency. +############################################################################### RUN yum update -y && yum install -y libatomic libcurl-devel openssl-devel libuuid-devel wget && \ rm -rf /var/cache/yum && \ yum clean all diff --git a/.github/docker-images/integration-tests/ubi8/Dockerfile b/.github/docker-images/integration-tests/ubi8/Dockerfile index 65a5df602..9507b1988 100644 --- a/.github/docker-images/integration-tests/ubi8/Dockerfile +++ b/.github/docker-images/integration-tests/ubi8/Dockerfile @@ -2,6 +2,21 @@ ARG BASE_IMAGE ARG PRE_RELEASE_IMAGE FROM ${BASE_IMAGE} AS build_integration_tests +############################################################################### +# Install pre-built CMake +############################################################################### +WORKDIR /tmp +RUN curl -sSL https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0.tar.gz -o cmake-3.28.0.tar.gz \ + && tar -zxvf cmake-3.28.0.tar.gz \ + && cd cmake-3.10.0 \ + && ./bootstrap \ + && make -j 2 \ + && make install + +############################################################################### +# Install Prerequisites +############################################################################### + RUN #yum update -y && yum install -y libcurl-devel openssl-devel libuuid-devel make gcc gcc-c++ git zlib-devel COPY ./integration-tests /root/integration-tests @@ -10,10 +25,16 @@ RUN mkdir -p /root/integration-tests/build \ && cmake .. -DCMAKE_BUILD_TYPE=DEBUG \ && cmake --build . --target aws-iot-device-client-integration-tests +############################################################################### # Actual docker image +############################################################################### + FROM ${PRE_RELEASE_IMAGE} AS runner +############################################################################### # Install openssl for libssl dependency. +############################################################################### + RUN yum update -y && yum install -y libatomic libcurl-devel openssl-devel libuuid-devel wget && \ rm -rf /var/cache/yum && \ yum clean all diff --git a/.github/docker-images/integration-tests/ubuntu/Dockerfile b/.github/docker-images/integration-tests/ubuntu/Dockerfile index b72fb3e40..381a16b6e 100644 --- a/.github/docker-images/integration-tests/ubuntu/Dockerfile +++ b/.github/docker-images/integration-tests/ubuntu/Dockerfile @@ -3,13 +3,28 @@ ARG BASE_IMAGE ARG PRE_RELEASE_IMAGE FROM ${OS} AS build_localproxy +############################################################################### +# Install pre-built CMake +############################################################################### +WORKDIR /tmp +RUN curl -sSL https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0.tar.gz -o cmake-3.28.0.tar.gz \ + && tar -zxvf cmake-3.28.0.tar.gz \ + && cd cmake-3.10.0 \ + && ./bootstrap \ + && make -j 2 \ + && make install + +############################################################################### # Install Prerequisites +############################################################################### RUN apt update && apt upgrade -y && \ apt install -y git libboost-all-dev autoconf automake \ wget libtool curl make g++ unzip cmake libssl-dev +############################################################################### # Install Dependencies +############################################################################### RUN mkdir /home/dependencies WORKDIR /home/dependencies @@ -74,7 +89,10 @@ RUN mkdir -p /root/integration-tests/build \ && cmake .. -DCMAKE_BUILD_TYPE=DEBUG \ && cmake --build . --target aws-iot-device-client-integration-tests +############################################################################### # Actual docker image +############################################################################### + FROM ${PRE_RELEASE_IMAGE} AS runner RUN apt-get update && apt-get install -y libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev libpulse-dev wget ssh ca-certificates wget apt-utils @@ -82,8 +100,10 @@ RUN mkdir -p /home/aws-iot-securetunneling-localproxy/certs && \ cd /home/aws-iot-securetunneling-localproxy/certs && \ wget https://www.amazontrust.com/repository/AmazonRootCA1.pem && \ openssl rehash ./ +############################################################################### +# Copy the binaries from builder stages. +############################################################################### -# # Copy the binaries from builder stages. COPY --from=build_localproxy /home/aws-iot-securetunneling-localproxy/localproxy /localproxy COPY --from=build_integration_tests /root/integration-tests/build/aws-iot-device-client-integration-tests /aws-iot-device-client-integration-tests COPY --from=build_integration_tests /root/integration-tests/source/tunneling/test-tunnel.sh /test-tunnel.sh diff --git a/integration-tests/CMakeLists.txt b/integration-tests/CMakeLists.txt index ac9465df5..89bb3fd2d 100644 --- a/integration-tests/CMakeLists.txt +++ b/integration-tests/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.13) project(aws-iot-device-client-integration-tests) set(OPENSSL_USE_STATIC_LIBS TRUE) diff --git a/integration-tests/CMakeLists.txt.gtest b/integration-tests/CMakeLists.txt.gtest index becd6bd68..39a73ca47 100644 --- a/integration-tests/CMakeLists.txt.gtest +++ b/integration-tests/CMakeLists.txt.gtest @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.13) project(googletest-download NONE) diff --git a/integration-tests/CMakeLists.txt.libawscpp b/integration-tests/CMakeLists.txt.libawscpp index bcd3c84bb..638eb5938 100644 --- a/integration-tests/CMakeLists.txt.libawscpp +++ b/integration-tests/CMakeLists.txt.libawscpp @@ -1,10 +1,10 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.13) project(aws-sdk-cpp NONE) include(ExternalProject) ExternalProject_Add(aws-sdk-cpp GIT_REPOSITORY https://github.com/aws/aws-sdk-cpp.git - GIT_TAG 1.30.3 + GIT_TAG 1.11.219 LIST_SEPARATOR "|" CMAKE_ARGS -DBUILD_SHARED_LIBS=OFF -DBUILD_ONLY=iot|iotsecuretunneling