From f0d0a8782237536f26bfcf040d09a0ec601c9419 Mon Sep 17 00:00:00 2001 From: Andras Fekete Date: Fri, 22 Sep 2023 14:55:30 -0400 Subject: [PATCH] Add in working cross-compiler container and builder script --- Docker/Dockerfile.cross-compiler | 18 ++++++++++++++++++ Docker/buildAndPush.sh | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 Docker/Dockerfile.cross-compiler create mode 100755 Docker/buildAndPush.sh diff --git a/Docker/Dockerfile.cross-compiler b/Docker/Dockerfile.cross-compiler new file mode 100644 index 000000000..6819f3fc7 --- /dev/null +++ b/Docker/Dockerfile.cross-compiler @@ -0,0 +1,18 @@ +ARG DOCKER_BASE_IMAGE=wolfssl/wolfssl-builder +FROM $DOCKER_BASE_IMAGE + +USER root + +ARG DEPS_TESTING=gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu +RUN DEBIAN_FRONTEND=noninteractive apt update && apt install -y apt-utils \ + && apt install -y ${DEPS_TESTING} \ + && apt clean -y && rm -rf /var/lib/apt/lists/* + +ARG JENKINS_UID=1009 +ARG JENKINS_GID=1010 +RUN groupadd -f -g ${JENKINS_GID} jenkins && ( getent passwd ${JENKINS_UID} || useradd -ms /bin/bash jenkins -u ${JENKINS_UID} -g ${JENKINS_GID} ) + +# Add github.com as an SSH known host +RUN ssh -o StrictHostKeyChecking=no -T git@github.com; cat ~/.ssh/known_hosts >> /etc/ssh/ssh_known_hosts + +USER docker diff --git a/Docker/buildAndPush.sh b/Docker/buildAndPush.sh new file mode 100755 index 000000000..b3f2dc033 --- /dev/null +++ b/Docker/buildAndPush.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +DOCKER_BUILD_OPTIONS="$1" +if [ "${DOCKER_BASE_IMAGE}" != "" ]; then + DOCKER_BUILD_OPTIONS+=" --build-arg DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}" +fi + +CUR_DATE=$(date -u +%F) +echo "Building wolfssl/wolfssl-builder:${CUR_DATE} as ${DOCKER_BUILD_OPTIONS}" +docker build -t wolfssl/wolfssl-builder:${CUR_DATE} ${DOCKER_BUILD_OPTIONS} "${WOLFSSL_DIR}/Docker" && \ + docker push wolfssl/wolfssl-builder:${CUR_DATE} && \ + docker tag wolfssl/wolfssl-builder:${CUR_DATE} wolfssl/wolfssl-builder:latest && \ + docker push wolfssl/wolfssl-builder:latest && \ + docker build -t wolfssl/testing-cross-compiler:${CUR_DATE} "${WOLFSSL_DIR}/Docker" -f Dockerfile.cross-compiler && \ + docker push wolfssl/testing-cross-compiler:${CUR_DATE} && \ + docker tag wolfssl/testing-cross-compiler:${CUR_DATE} wolfssl/testing-cross-compiler:latest && \ + docker push wolfssl/testing-cross-compiler:latest