From 79aa46ce111d2a31fd3461bfa149f214e0a39cbe Mon Sep 17 00:00:00 2001 From: Devan Carpenter Date: Tue, 23 Mar 2021 13:07:03 +0000 Subject: [PATCH] CI: build libpEpAdapter ourselves libpEpAdapter does not build an image with every version of pEpEngine we may need, so we will use the pEpEngine docker image, and build the libpEpAdapter version we need as part of our CI job. --- .../java8.pEpJNIAdapter.debian10.Dockerfile | 29 +++++++++++++++++-- .../pEpJNIAdapter.debian10.Dockerfile | 23 +++++++++++++-- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile index 8b93c8e..3edb614 100644 --- a/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/java8.pEpJNIAdapter.debian10.Dockerfile @@ -1,13 +1,36 @@ ARG DOCKER_REGISTRY_HOST ARG CURRENT_DISTRO -ARG LIBPEPADAPTER_VERSION ARG PEPENGINE_VERSION -FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-libpepadapter:${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} + +FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-engine:${PEPENGINE_VERSION} ENV BUILDROOT /build ENV INSTPREFIX /install ENV OUTDIR /out +ARG LIBPEPADAPTER_VERSION +ARG CURRENT_DISTRO + +## Build and install libpEpAdapter +### Setup working directory +RUN git clone --depth=1 \ + https://gitea.pep.foundation/pEp.foundation/libpEpAdapter.git \ + -b ${LIBPEPADAPTER_VERSION} \ + ${BUILDROOT}/libpEpAdapter +WORKDIR ${BUILDROOT}/libpEpAdapter + +### Build libpEpAdapter +RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \ + rm -rf ${BUILDROOT}/* + +### Install system dependencies +USER root +RUN apt-get update -yqq && \ + apt-get install -yqq default-jdk-headless +USER pep-builder + + +## Build and install pEpJNIAdapter ### Install Java 8 USER root RUN apt-get update -yqq && \ @@ -31,7 +54,7 @@ WORKDIR ${BUILDROOT}/pEpJNIAdapter ARG PEPJNIADAPTER_VERSION ARG CURRENT_DISTRO -### Build libpEpAdapter +### Build pEpJNIAdapter RUN sh ./scripts/${CURRENT_DISTRO}/build_pEpJNIAdapter.sh && \ install -m 644 -t ${INSTPREFIX}/lib dist/libpEpJNI.a && \ install -m 755 -t ${INSTPREFIX}/lib dist/libpEpJNI.so && \ diff --git a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile index 841f24f..bf1c50c 100644 --- a/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile +++ b/scripts/debian10/pEpJNIAdapter.debian10.Dockerfile @@ -1,19 +1,36 @@ ARG DOCKER_REGISTRY_HOST ARG CURRENT_DISTRO -ARG LIBPEPADAPTER_VERSION ARG PEPENGINE_VERSION -FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-libpepadapter:${LIBPEPADAPTER_VERSION}_engine-${PEPENGINE_VERSION} + +FROM ${DOCKER_REGISTRY_HOST}/pep-${CURRENT_DISTRO}-engine:${PEPENGINE_VERSION} ENV BUILDROOT /build ENV INSTPREFIX /install ENV OUTDIR /out +ARG LIBPEPADAPTER_VERSION +ARG CURRENT_DISTRO + +## Build and install libpEpAdapter +### Setup working directory +RUN git clone --depth=1 \ + https://gitea.pep.foundation/pEp.foundation/libpEpAdapter.git \ + -b ${LIBPEPADAPTER_VERSION} \ + ${BUILDROOT}/libpEpAdapter +WORKDIR ${BUILDROOT}/libpEpAdapter + +### Build libpEpAdapter +RUN sh ./scripts/${CURRENT_DISTRO}/build_libpEpAdapter.sh && \ + rm -rf ${BUILDROOT}/* + ### Install system dependencies USER root RUN apt-get update -yqq && \ apt-get install -yqq default-jdk-headless USER pep-builder + +## Build and install pEpJNIAdapter ### Setup working directory RUN mkdir ${BUILDROOT}/pEpJNIAdapter COPY . ${BUILDROOT}/pEpJNIAdapter @@ -25,7 +42,7 @@ WORKDIR ${BUILDROOT}/pEpJNIAdapter ARG PEPJNIADAPTER_VERSION ARG CURRENT_DISTRO -### Build libpEpAdapter +### Build pEpJNIAdapter RUN sh ./scripts/${CURRENT_DISTRO}/build_pEpJNIAdapter.sh && \ install -m 644 -t ${INSTPREFIX}/lib dist/libpEpJNI.a && \ install -m 755 -t ${INSTPREFIX}/lib dist/libpEpJNI.so && \