From 97a052147ae3a869db8aca66c68f2d1e5b9aebc0 Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 15:47:57 -0400 Subject: [PATCH 01/33] Create .gitlab-ci.yml --- .gitlab-ci.yml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 000000000000..870a443d74c8 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,36 @@ +stages: + - test + - deploy + +test: + image: node:lts + stage: test + before_script: + - yarn i + script: + - yarn test + cache: + key: $CI_COMMIT_REF_SLUG + paths: + - node_modules/ + +deploy_registry: + image: docker:latest + stage: deploy + services: + - docker:dind + variables: + DOCKER_DRIVER: overlay + before_script: + - docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN $CI_REGISTRY + - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG || true + script: + - docker build --pull + --cache-from $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + --build-arg VCS_REF=$CI_COMMIT_SHORT_SHA + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') + -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG . + - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + only: + - master + - latest From 335b575356ad316b384b64af0c98ef763947332f Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 15:49:21 -0400 Subject: [PATCH 02/33] Create pull.yml --- .github/pull.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .github/pull.yml diff --git a/.github/pull.yml b/.github/pull.yml new file mode 100644 index 000000000000..0185bd739d92 --- /dev/null +++ b/.github/pull.yml @@ -0,0 +1,8 @@ +version: "1" +rules: + - base: master + upstream: cdr:master + mergeMethod: hardreset + - base: latest + upstream: master + mergeMethod: merge From 01566b081d00aadc48f1a2d33ed95a7bc7b23d19 Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 15:50:34 -0400 Subject: [PATCH 03/33] Update .gitlab-ci.yml --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 870a443d74c8..e98ce08b741c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,7 +6,7 @@ test: image: node:lts stage: test before_script: - - yarn i + - yarn script: - yarn test cache: From 55dba8fbab67ba49ac0f293da7d23e062b69ca0d Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 15:56:47 -0400 Subject: [PATCH 04/33] Update .gitlab-ci.yml --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e98ce08b741c..902618032ba0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,5 @@ stages: - - test +# - test - deploy test: From 1be6ff51a0adaad266efc2cc31cc13013b4db35b Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 15:58:29 -0400 Subject: [PATCH 05/33] Update .gitlab-ci.yml --- .gitlab-ci.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 902618032ba0..f59d4f88fded 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,19 +1,6 @@ stages: -# - test - deploy -test: - image: node:lts - stage: test - before_script: - - yarn - script: - - yarn test - cache: - key: $CI_COMMIT_REF_SLUG - paths: - - node_modules/ - deploy_registry: image: docker:latest stage: deploy From 92f4be73b3ec3f32b244a01360b5012628abecbc Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 17:26:57 -0400 Subject: [PATCH 06/33] Update Dockerfile to use minideb --- Dockerfile | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0610301a3fb3..92f15ecad152 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ FROM node:10.15.1 # Install VS Code's deps. These are the only two it seems we need. -RUN apt-get update && apt-get install -y \ +RUN apt-get update && apt-get install -y -qq \ libxkbfile-dev \ - libsecret-1-dev + libsecret-1-dev \ + && rm -rf /var/lib/apt/lists/* # Ensure latest yarn. RUN npm install -g yarn@1.13 @@ -15,8 +16,8 @@ COPY . . # directly which should be fast as it is slow because it populates its own cache every time. RUN yarn && NODE_ENV=production yarn task build:server:binary -# We deploy with ubuntu so that devs have a familiar environment. -FROM ubuntu:18.04 + +FROM bitnami/minideb:latest RUN apt-get update && apt-get install -y \ openssl \ @@ -27,7 +28,8 @@ RUN apt-get update && apt-get install -y \ dumb-init \ vim \ curl \ - wget + wget \ + && rm -rf /var/lib/apt/lists/* RUN locale-gen en_US.UTF-8 # We unfortunately cannot use update-locale because docker will not use the env variables @@ -39,7 +41,8 @@ RUN adduser --gecos '' --disabled-password coder && \ USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. -RUN mkdir -p /home/coder/project +RUN mkdir -p /home/coder/project \ + && mkdir -p /home/coder/.local/share/code-server WORKDIR /home/coder/project From 4082f778f0a1daf4fceb79784f707be05427eff7 Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 18:03:02 -0400 Subject: [PATCH 07/33] Update Dockerfile to use ubuntu:rolling --- Dockerfile | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 92f15ecad152..38fd8304b32a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,27 +17,27 @@ COPY . . RUN yarn && NODE_ENV=production yarn task build:server:binary -FROM bitnami/minideb:latest - -RUN apt-get update && apt-get install -y \ - openssl \ - net-tools \ - git \ - locales \ - sudo \ - dumb-init \ - vim \ - curl \ +FROM ubuntu:rolling + +RUN apt-get update && apt-get install -y -qq \ + openssl \ + net-tools \ + inetutils-tools \ + git \ + locales \ + sudo \ + dumb-init \ + curl \ wget \ && rm -rf /var/lib/apt/lists/* -RUN locale-gen en_US.UTF-8 -# We unfortunately cannot use update-locale because docker will not use the env variables -# configured in /etc/default/locale so we need to set it manually. -ENV LC_ALL=en_US.UTF-8 - -RUN adduser --gecos '' --disabled-password coder && \ - echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd +RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \ + echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ + echo "LANG=en_US.UTF-8" > /etc/locale.conf && \ + locale-gen en_US.UTF-8 && \ + \ + adduser --gecos '' --disabled-password coder && \ + echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. From 163d1981a9ef3c1a84cde9a9478f5ba48fc436ec Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 18:05:40 -0400 Subject: [PATCH 08/33] Update Dockerfile to use node:lts during build --- Dockerfile | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 38fd8304b32a..6f5b69576561 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,11 @@ -FROM node:10.15.1 +FROM node:lts # Install VS Code's deps. These are the only two it seems we need. RUN apt-get update && apt-get install -y -qq \ - libxkbfile-dev \ + libxkbfile-dev \ libsecret-1-dev \ && rm -rf /var/lib/apt/lists/* -# Ensure latest yarn. -RUN npm install -g yarn@1.13 - WORKDIR /src COPY . . From 4fb13497d11f5d529e1f20481a4b953e77161f09 Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 19:35:44 -0400 Subject: [PATCH 09/33] Dockerfile to add VCS ref --- Dockerfile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6f5b69576561..f768297f69e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,8 +38,7 @@ RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \ USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. -RUN mkdir -p /home/coder/project \ - && mkdir -p /home/coder/.local/share/code-server +RUN mkdir -p /home/coder/project WORKDIR /home/coder/project @@ -51,3 +50,9 @@ COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server EXPOSE 8443 ENTRYPOINT ["dumb-init", "code-server"] + +ARG VCS_REF +ARG BUILD_DATE +LABEL \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.build-date=$BUILD_DATE From 18eaad95016c892e75b9762f29e4e34ccccb193e Mon Sep 17 00:00:00 2001 From: Wei He Date: Wed, 5 Jun 2019 20:46:16 -0400 Subject: [PATCH 10/33] Update data directory permission --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index f768297f69e7..60848e10fb89 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,8 @@ RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \ USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. -RUN mkdir -p /home/coder/project +RUN mkdir -p /home/coder/project && \ + mkdir -p /home/coder/.local/share/code-server WORKDIR /home/coder/project From c3279c0838e0ff8b294d3a34e7dda601a40497b3 Mon Sep 17 00:00:00 2001 From: Wei He Date: Thu, 6 Jun 2019 02:14:52 +0000 Subject: [PATCH 11/33] Update Dockerfile --- Dockerfile | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 60848e10fb89..ac81528afb27 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,24 +17,27 @@ RUN yarn && NODE_ENV=production yarn task build:server:binary FROM ubuntu:rolling RUN apt-get update && apt-get install -y -qq \ - openssl \ - net-tools \ - inetutils-tools \ git \ - locales \ sudo \ - dumb-init \ curl \ wget \ + nano \ + screen \ + locales \ + openssl \ + net-tools \ + pastebinit \ + inetutils-tools \ + dumb-init \ && rm -rf /var/lib/apt/lists/* -RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment && \ - echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && \ - echo "LANG=en_US.UTF-8" > /etc/locale.conf && \ - locale-gen en_US.UTF-8 && \ +RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment \ + && echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen \ + && echo "LANG=en_US.UTF-8" > /etc/locale.conf \ + && locale-gen en_US.UTF-8 \ \ - adduser --gecos '' --disabled-password coder && \ - echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd + && adduser --gecos '' --disabled-password coder \ + && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. From f40dce6c264b22b336af50e0e647944e26b45899 Mon Sep 17 00:00:00 2001 From: Wei He Date: Thu, 6 Jun 2019 21:02:49 +0000 Subject: [PATCH 12/33] Update .dockerignore --- .dockerignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index ee53f91e62b6..9bf5b6d9f15c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -4,7 +4,8 @@ doc/ # GitHub stuff .github .gitignore +.gitlab-ci.yml .travis.yml LICENSE README.md -node_modules +node_modules \ No newline at end of file From 26282a9c8308821dac14df8e1bacbe93f3a333f7 Mon Sep 17 00:00:00 2001 From: Wei He Date: Fri, 7 Jun 2019 04:08:51 +0000 Subject: [PATCH 13/33] Add PS1 to Dockerfile --- .dockerignore | 2 +- .gitlab-ci.yml | 1 - Dockerfile | 2 ++ 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index 9bf5b6d9f15c..bf2bf3284a6a 100644 --- a/.dockerignore +++ b/.dockerignore @@ -8,4 +8,4 @@ doc/ .travis.yml LICENSE README.md -node_modules \ No newline at end of file +node_modules diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f59d4f88fded..7827dc24e8d4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -19,5 +19,4 @@ deploy_registry: -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG only: - - master - latest diff --git a/Dockerfile b/Dockerfile index ac81528afb27..014685ffb44d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -53,6 +53,8 @@ VOLUME [ "/home/coder/project" ] COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server EXPOSE 8443 +ENV PS1 '🐳 \[\033[1;36m\]\u@\h\[\033[0m\] \[\033[1;34m\][\w]\[\033[00m\]\$ ' + ENTRYPOINT ["dumb-init", "code-server"] ARG VCS_REF From 44016fa656ffb1f92ff7da36ccb792323ad942a1 Mon Sep 17 00:00:00 2001 From: Wei He Date: Fri, 7 Jun 2019 04:52:43 +0000 Subject: [PATCH 14/33] Update coder user uid and gid --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 014685ffb44d..659d285c32a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,7 +36,7 @@ RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment \ && echo "LANG=en_US.UTF-8" > /etc/locale.conf \ && locale-gen en_US.UTF-8 \ \ - && adduser --gecos '' --disabled-password coder \ + && adduser --gecos '' --disabled-password --uid 1001 --gid 1001 coder \ && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd USER coder From 4d30d4b38e4cd5cdd1ea62b6c32e7291c41546d5 Mon Sep 17 00:00:00 2001 From: Wei He Date: Fri, 7 Jun 2019 05:15:57 +0000 Subject: [PATCH 15/33] Update coder user gid --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index 659d285c32a5..98c98b2bf48d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,6 +36,7 @@ RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment \ && echo "LANG=en_US.UTF-8" > /etc/locale.conf \ && locale-gen en_US.UTF-8 \ \ + && addgroup --gid 1001 coder \ && adduser --gecos '' --disabled-password --uid 1001 --gid 1001 coder \ && echo "coder ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd From 765dcc9f0f1d3563612f0f11dd252bcb00d69c61 Mon Sep 17 00:00:00 2001 From: Wei He Date: Fri, 7 Jun 2019 05:48:00 +0000 Subject: [PATCH 16/33] Update PS1 in Dockerfile --- Dockerfile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 98c98b2bf48d..15c8acfc4064 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,8 +42,9 @@ RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment \ USER coder # We create first instead of just using WORKDIR as when WORKDIR creates, the user is root. -RUN mkdir -p /home/coder/project && \ - mkdir -p /home/coder/.local/share/code-server +RUN mkdir -p /home/coder/project \ + && mkdir -p /home/coder/.local/share/code-server \ + && echo "PS1='🐳 \[\033[1;36m\]\u@\h\[\033[0m\] \[\033[1;34m\][\w]\[\033[00m\]\$ '" >> /home/coder/.bashrc WORKDIR /home/coder/project @@ -54,8 +55,6 @@ VOLUME [ "/home/coder/project" ] COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server EXPOSE 8443 -ENV PS1 '🐳 \[\033[1;36m\]\u@\h\[\033[0m\] \[\033[1;34m\][\w]\[\033[00m\]\$ ' - ENTRYPOINT ["dumb-init", "code-server"] ARG VCS_REF From d652917eba53f84f069cc6d7a1256de9d603956a Mon Sep 17 00:00:00 2001 From: Wei He Date: Mon, 17 Jun 2019 13:02:23 -0400 Subject: [PATCH 17/33] Update Dockerfile ENTRYPOINT and CMD --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 15c8acfc4064..98dde3580e5d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,7 +55,8 @@ VOLUME [ "/home/coder/project" ] COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server EXPOSE 8443 -ENTRYPOINT ["dumb-init", "code-server"] +ENTRYPOINT ["dumb-init"] +CMD ["code-server", "--disable-telemetry"] ARG VCS_REF ARG BUILD_DATE From a42fc7f4e91c25de8e5e26e4f876856bdca01697 Mon Sep 17 00:00:00 2001 From: Wei He Date: Sat, 29 Jun 2019 00:44:27 -0400 Subject: [PATCH 18/33] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 98dde3580e5d..2daaed34ca2b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -55,8 +55,8 @@ VOLUME [ "/home/coder/project" ] COPY --from=0 /src/packages/server/cli-linux-x64 /usr/local/bin/code-server EXPOSE 8443 -ENTRYPOINT ["dumb-init"] -CMD ["code-server", "--disable-telemetry"] +ENTRYPOINT ["dumb-init", "--", "code-server", "--disable-telemetry"] +CMD ["--allow-http"] ARG VCS_REF ARG BUILD_DATE From 2053e9599a2e6a1b86b67fff5313b005144fd8a1 Mon Sep 17 00:00:00 2001 From: Wei He Date: Mon, 11 Nov 2019 22:55:52 -0500 Subject: [PATCH 19/33] Update .gitlab-ci.yml --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7827dc24e8d4..b3612148a336 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -14,7 +14,8 @@ deploy_registry: script: - docker build --pull --cache-from $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG - --build-arg VCS_REF=$CI_COMMIT_SHORT_SHA + --build-arg vscodeVersion=$VSCODE_VERSION + --build-arg VCS_REF=$CI_COMMIT_SHORT_SHA --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG . - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG From 58bd9bd196775ebcb2f03133e27aea9320e741c6 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 00:25:21 -0500 Subject: [PATCH 20/33] Update Dockerfile --- Dockerfile | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index ecf03f93e6a8..2a4f1cd9fe84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,12 +22,6 @@ RUN yarn \ FROM ubuntu:rolling -RUN locale-gen en_US.UTF-8 -# We cannot use update-locale because docker will not use the env variables -# configured in /etc/default/locale so we need to set it manually. -ENV LC_ALL=en_US.UTF-8 \ - SHELL=/bin/bash - RUN apt-get update && apt-get install -y -qq \ git \ sudo \ From 5d21ffa7b82cfd5ecd23082cb1972af2b9b5d6a1 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 00:43:54 -0500 Subject: [PATCH 21/33] Create publish.yml --- .github/workflows/publish.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 000000000000..d6cb500522d9 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,26 @@ +name: Build and Push +on: + push: + branches: + - latest +jobs: + build: + name: Build and Push + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@latest + - name: Login to Docker Registry + run: > + docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com + - name: Build Docker Image + run: > + docker build -t docker.pkg.github.com/${{ github.repository }}/code-server:latest . \ + --pull --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ + --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ + --build-arg VCS_REF=${{ github.sha }} \ + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') + - name: Push Docker Image + run: > + docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ + docker tag docker.pkg.github.com/${{ github.repository }}/code-server:latest docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ + docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ From f8d05aac4302a91e099ee2b11e1febe71d3f4d10 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 00:44:56 -0500 Subject: [PATCH 22/33] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index d6cb500522d9..7b06db37526d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,7 +8,7 @@ jobs: name: Build and Push runs-on: ubuntu-latest steps: - - uses: actions/checkout@latest + - uses: actions/checkout@master - name: Login to Docker Registry run: > docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com From 68fbe7d9ea64b890f62adee9c1650e7e26aee0dc Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 01:09:37 -0500 Subject: [PATCH 23/33] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7b06db37526d..8a8544c572d6 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,4 +23,4 @@ jobs: run: > docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ docker tag docker.pkg.github.com/${{ github.repository }}/code-server:latest docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ - docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ + docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} From 0b3aa868045866d416fa6d5a0e4d766887426938 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 01:39:05 -0500 Subject: [PATCH 24/33] Update publish.yml --- .github/workflows/publish.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8a8544c572d6..843dd1f73721 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,15 +12,20 @@ jobs: - name: Login to Docker Registry run: > docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com + - name: Pull Latest + run: > + docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest - name: Build Docker Image run: > docker build -t docker.pkg.github.com/${{ github.repository }}/code-server:latest . \ - --pull --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ + --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ --build-arg VCS_REF=${{ github.sha }} \ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') - name: Push Docker Image run: > - docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ + docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest + - name: Push Docker Image with Version + run: > docker tag docker.pkg.github.com/${{ github.repository }}/code-server:latest docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} From 7fedebf0bf695d6eeb5ba81b965b1c15b25fd05d Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 01:47:24 -0500 Subject: [PATCH 25/33] Update publish.yml --- .github/workflows/publish.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 843dd1f73721..7aa847e7b48a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,15 +17,17 @@ jobs: docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest - name: Build Docker Image run: > - docker build -t docker.pkg.github.com/${{ github.repository }}/code-server:latest . \ + docker build --pull \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ --build-arg VCS_REF=${{ github.sha }} \ - --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ + -t code-server . - name: Push Docker Image run: > + docker tag code-server docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest - name: Push Docker Image with Version run: > - docker tag docker.pkg.github.com/${{ github.repository }}/code-server:latest docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ + docker tag code-server docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} From c94e51073566e1c74958d11c61fe56b501f8b82c Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 01:58:45 -0500 Subject: [PATCH 26/33] Update publish.yml --- .github/workflows/publish.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7aa847e7b48a..6090613948e8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -27,7 +27,3 @@ jobs: run: > docker tag code-server docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest - - name: Push Docker Image with Version - run: > - docker tag code-server docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} && \ - docker push docker.pkg.github.com/${{ github.repository }}/code-server:${{ secrets.VSCODE_VERSION }} From 439f657105f90d1334dc49bfda1db13b71cea9a3 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 02:09:40 -0500 Subject: [PATCH 27/33] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a4f1cd9fe84..ad6c6928e7a6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:10.16.0 +FROM node:10.16.0 AS builder ARG codeServerVersion=docker ARG vscodeVersion ARG githubToken @@ -59,7 +59,7 @@ WORKDIR /home/coder/project # mount. So that they do not lose their data if they delete the container. VOLUME [ "/home/coder/project" ] -COPY --from=0 /src/binaries/code-server /usr/local/bin/code-server +COPY --from=builder /src/binaries/code-server /usr/local/bin/code-server EXPOSE 8080 ENTRYPOINT ["dumb-init", "code-server", "--host", "0.0.0.0", "--disable-telemetry"] From 726bd2a3d391abe5de010dc6ea6c9c3381dc6de1 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 02:14:59 -0500 Subject: [PATCH 28/33] Update publish.yml --- .github/workflows/publish.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6090613948e8..c2e6e06473a2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,18 +12,27 @@ jobs: - name: Login to Docker Registry run: > docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com - - name: Pull Latest + - name: Build Docker Image - builder run: > - docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest + docker build --pull \ + --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:builder \ + --target builder \ + --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ + --build-arg VCS_REF=${{ github.sha }} \ + --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ + -t docker.pkg.github.com/${{ github.repository }}/code-server:builder . - name: Build Docker Image run: > docker build --pull \ + --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:builder \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ --build-arg VCS_REF=${{ github.sha }} \ --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ - -t code-server . + -t docker.pkg.github.com/${{ github.repository }}/code-server:latest . + - name: Push Docker Image - builder + run: > + docker push docker.pkg.github.com/${{ github.repository }}/code-server:builder - name: Push Docker Image run: > - docker tag code-server docker.pkg.github.com/${{ github.repository }}/code-server:latest && \ docker push docker.pkg.github.com/${{ github.repository }}/code-server:latest From ae8f5588ecc890b0388607c2c6c5d2fba567b41c Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 02:42:13 -0500 Subject: [PATCH 29/33] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ad6c6928e7a6..6d9afb1a88ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,7 +22,7 @@ RUN yarn \ FROM ubuntu:rolling -RUN apt-get update && apt-get install -y -qq \ +RUN apt-get -qq update && DEBIAN_FRONTEND=noninteractive apt-get install -y -qq \ git \ sudo \ curl \ From 909ec886d2f1e697b6281f05abd12bf703334119 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 02:45:48 -0500 Subject: [PATCH 30/33] Update publish.yml --- .github/workflows/publish.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c2e6e06473a2..4726e2ec2d26 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,15 +12,19 @@ jobs: - name: Login to Docker Registry run: > docker login -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} docker.pkg.github.com + - name: Pull Docker Image - builder + run: > + docker pull docker.pkg.github.com/${{ github.repository }}/code-server:builder || true - name: Build Docker Image - builder run: > docker build --pull \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:builder \ --target builder \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ - --build-arg VCS_REF=${{ github.sha }} \ - --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ -t docker.pkg.github.com/${{ github.repository }}/code-server:builder . + - name: Pull Docker Image - builder + run: > + docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest || true - name: Build Docker Image run: > docker build --pull \ From 481a3ee375c925bb45cc2111b70d8f0e1335eead Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 03:05:32 -0500 Subject: [PATCH 31/33] Update publish.yml --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4726e2ec2d26..09e3570cff09 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -22,7 +22,7 @@ jobs: --target builder \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ -t docker.pkg.github.com/${{ github.repository }}/code-server:builder . - - name: Pull Docker Image - builder + - name: Pull Docker Image run: > docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest || true - name: Build Docker Image From 651feda776570b875140a56903764e948fe9e77a Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 03:10:30 -0500 Subject: [PATCH 32/33] Update .dockerignore --- .dockerignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index c56c51c38719..b6391d6312f5 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,6 +2,7 @@ Dockerfile build deployment doc +.git .github .gitignore .node-version @@ -10,4 +11,4 @@ doc LICENSE README.md node_modules -release \ No newline at end of file +release From 0c046e60ac482f989b6d46eb221511f46412d5c6 Mon Sep 17 00:00:00 2001 From: Wei He Date: Tue, 12 Nov 2019 03:31:22 -0500 Subject: [PATCH 33/33] Update publish.yml --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 09e3570cff09..1b98abf7fb25 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,7 +17,7 @@ jobs: docker pull docker.pkg.github.com/${{ github.repository }}/code-server:builder || true - name: Build Docker Image - builder run: > - docker build --pull \ + docker build \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:builder \ --target builder \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \ @@ -27,7 +27,7 @@ jobs: docker pull docker.pkg.github.com/${{ github.repository }}/code-server:latest || true - name: Build Docker Image run: > - docker build --pull \ + docker build \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:builder \ --cache-from docker.pkg.github.com/${{ github.repository }}/code-server:latest \ --build-arg vscodeVersion=${{ secrets.VSCODE_VERSION }} \