From 0b975ae9052ee822fc085bf83436da6af49e4c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Deleuze?= Date: Fri, 14 Jul 2023 10:37:25 +0200 Subject: [PATCH] Support running on Mac or Windows via Docker --- README.adoc | 8 +++++++- ci/images/ci-image/Dockerfile | 2 ++ run-dev-container.sh | 12 ++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) create mode 100755 run-dev-container.sh diff --git a/README.adoc b/README.adoc index 228a368..2602fed 100644 --- a/README.adoc +++ b/README.adoc @@ -11,11 +11,17 @@ The `appTest` task tests the application running on the JVM. The `checkpointRest == Prerequisites +=== Linux + - CRaC enabled JDK such as https://www.azul.com/downloads/?package=jdk-crac#zulu[the one provided by Azul]. -- Linux > NOTE: If using SDKMan then run `sdk env install`. +=== Mac Intel or Windows + +- Docker +- Use `./run-dev-container.sh` before running Gradle commands + == Contributing Please read and follow the link:CONTRIBUTING.adoc[contributing guide]. diff --git a/ci/images/ci-image/Dockerfile b/ci/images/ci-image/Dockerfile index 2bca67e..a8d2ece 100644 --- a/ci/images/ci-image/Dockerfile +++ b/ci/images/ci-image/Dockerfile @@ -7,6 +7,8 @@ RUN ./setup.sh ENV JAVA_HOME /opt/crac-jdk ENV PATH $JAVA_HOME/bin:/opt/ytt/bin:/opt/docker-compose/bin:$PATH +ENV GRADLE_OPTS -Dorg.gradle.project.buildDir=/tmp/gradle-build +RUN git config --global --add safe.directory /workspace ADD docker-lib.sh /docker-lib.sh ENTRYPOINT [ "switch", "shell=/bin/bash", "--", "codep", "/bin/docker daemon" ] diff --git a/run-dev-container.sh b/run-dev-container.sh new file mode 100755 index 0000000..c118158 --- /dev/null +++ b/run-dev-container.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +REBUILD=false +HOST_WORK_DIR="$( pwd )" +CONTAINER_WORK_DIR=/workspace + +docker image ls | grep spring-checkpoint-restore-smoke-tests-dev | grep ${CONTAINER_TAG} >/dev/null 2>&1 || export REBUILD=true + +test "$REBUILD" = false || docker build \ + -t spring-checkpoint-restore-smoke-tests-dev -f $HOST_WORK_DIR/ci/images/ci-image/Dockerfile $HOST_WORK_DIR/ci/images + +docker run -it --entrypoint /bin/bash --privileged -v $HOST_WORK_DIR:$CONTAINER_WORK_DIR:delegated -w $CONTAINER_WORK_DIR spring-checkpoint-restore-smoke-tests-dev \ No newline at end of file