From 0880d53a941d59605050f54e43a8ab6258247eaf Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Mon, 21 Dec 2020 01:54:22 +0000 Subject: Custom Dockerfile for gitpod.io Little configuration to give https://gitpod.io users an environment with the SDKs pre-installed --- docker/.gitpod.Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docker/.gitpod.Dockerfile (limited to 'docker') diff --git a/docker/.gitpod.Dockerfile b/docker/.gitpod.Dockerfile new file mode 100644 index 00000000..ac7992e5 --- /dev/null +++ b/docker/.gitpod.Dockerfile @@ -0,0 +1,38 @@ +FROM gitpod/workspace-full + +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 + +RUN sudo chown -R gitpod /opt + +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 sudo ln -s /workspace/Pinetime /sources \ No newline at end of file -- cgit v1.2.3 From cf187d342c4c16c6578e3244b164e649d588e45c Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Tue, 5 Jan 2021 00:26:27 +0000 Subject: Use root for package installation And forget the chown. sudo can be used if the dependencies ever need to be updated "live" --- docker/.gitpod.Dockerfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'docker') diff --git a/docker/.gitpod.Dockerfile b/docker/.gitpod.Dockerfile index ac7992e5..71bf479b 100644 --- a/docker/.gitpod.Dockerfile +++ b/docker/.gitpod.Dockerfile @@ -1,5 +1,6 @@ FROM gitpod/workspace-full +USER root ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update -qq \ && apt-get install -y \ @@ -23,8 +24,6 @@ RUN apt-get update -qq \ # Needs to be installed as root RUN pip3 install adafruit-nrfutil -RUN sudo chown -R gitpod /opt - COPY docker/build.sh /opt/ # Lets get each in a separate docker layer for better downloads # GCC @@ -35,4 +34,6 @@ RUN bash -c "source /opt/build.sh; GetNrfSdk;" RUN bash -c "source /opt/build.sh; GetMcuBoot;" # Link the default checkout workspace in to the default $SOURCES_DIR -RUN sudo ln -s /workspace/Pinetime /sources \ No newline at end of file +RUN ln -s /workspace/Pinetime /sources + +USER gitpod \ No newline at end of file -- cgit v1.2.3 From a028c39ddd9994a5932d231ead0007ec34bbdf95 Mon Sep 17 00:00:00 2001 From: petter <39340152+petterhs@users.noreply.github.com> Date: Sat, 23 Jan 2021 01:51:07 +0100 Subject: check for cmake build-success before running post-build.sh --- docker/build.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'docker') 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 -- cgit v1.2.3