From 0880d53a941d59605050f54e43a8ab6258247eaf Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Mon, 21 Dec 2020 01:54:22 +0000 Subject: [PATCH 1/2] Custom Dockerfile for gitpod.io Little configuration to give https://gitpod.io users an environment with the SDKs pre-installed --- .gitpod.yml | 18 ++++++++++++++++++ docker/.gitpod.Dockerfile | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 .gitpod.yml create mode 100644 docker/.gitpod.Dockerfile diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 00000000..0af6dce8 --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,18 @@ +image: + file: docker/.gitpod.Dockerfile +github: + prebuilds: + # enable for the master/default branch (defaults to true) + master: true + # enable for all branches in this repo (defaults to false) + branches: false + # enable for pull requests coming from this repo (defaults to true) + pullRequests: false + # enable for pull requests coming from forks (defaults to false) + pullRequestsFromForks: false + # add a "Review in Gitpod" button as a comment to pull requests (defaults to true) + addComment: true + # add a "Review in Gitpod" button to pull requests (defaults to false) + addBadge: false + # add a label once the prebuild is ready to pull requests (defaults to false) + addLabel: false #prebuilt-in-gitpod \ No newline at end of file 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 From cf187d342c4c16c6578e3244b164e649d588e45c Mon Sep 17 00:00:00 2001 From: Joe Eaves Date: Tue, 5 Jan 2021 00:26:27 +0000 Subject: [PATCH 2/2] 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(-) 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