diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/.gitpod.Dockerfile | 39 | ||||
-rwxr-xr-x | docker/build.sh | 8 |
2 files changed, 44 insertions, 3 deletions
diff --git a/docker/.gitpod.Dockerfile b/docker/.gitpod.Dockerfile new file mode 100644 index 00000000..71bf479b --- /dev/null +++ b/docker/.gitpod.Dockerfile @@ -0,0 +1,39 @@ +FROM gitpod/workspace-full + +USER root +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get update -qq \ + && apt-get install -y \ +# x86_64 / generic packages + bash \ + build-essential \ + cmake \ + git \ + make \ + python3 \ + python3-pip \ + tar \ + unzip \ + wget \ +# aarch64 packages + libffi-dev \ + libssl-dev \ + python3-dev \ + && rm -rf /var/cache/apt/* /var/lib/apt/lists/*; + +# Needs to be installed as root +RUN pip3 install adafruit-nrfutil + +COPY docker/build.sh /opt/ +# Lets get each in a separate docker layer for better downloads +# GCC +RUN bash -c "source /opt/build.sh; GetGcc;" +# NrfSdk +RUN bash -c "source /opt/build.sh; GetNrfSdk;" +# McuBoot +RUN bash -c "source /opt/build.sh; GetMcuBoot;" + +# Link the default checkout workspace in to the default $SOURCES_DIR +RUN ln -s /workspace/Pinetime /sources + +USER gitpod
\ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh index f35c2f3a..8f0d0fa9 100755 --- a/docker/build.sh +++ b/docker/build.sh @@ -31,8 +31,8 @@ main() { CmakeGenerate CmakeBuild $target - - if [[ "$DISABLE_POSTBUILD" != "true" ]]; then + BUILD_RESULT=$? + if [ "$DISABLE_POSTBUILD" != "true" -a "$BUILD_RESULT" == 0 ]; then source "$BUILD_DIR/post_build.sh" fi } @@ -70,7 +70,9 @@ CmakeGenerate() { CmakeBuild() { local target="$1" [[ -n "$target" ]] && target="--target $target" - cmake --build "$BUILD_DIR" --config $BUILD_TYPE $target -- -j$(nproc) + if cmake --build "$BUILD_DIR" --config $BUILD_TYPE $target -- -j$(nproc) + then return 0; else return 1; + fi } [[ $SOURCED == "false" ]] && main "$@" || echo "Sourced!"
\ No newline at end of file |