From 19d3b49cb800b8ec635cf1b5cc0aab96c49a352b Mon Sep 17 00:00:00 2001 From: Sebastian Stehle Date: Sat, 14 Apr 2018 18:38:11 +0200 Subject: [PATCH] Another build test --- Dockerfile | 37 +++++++++++++++++++ src/Squidex/app-config/karma.coverage.conf.js | 2 - src/Squidex/package.json | 1 - 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index de1b25aee..68112b110 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,6 +3,43 @@ # FROM squidex/aspnetcore-build-phantomjs:2.0.3-jessie as builder +# See https://crbug.com/795759 +RUN apt-get update && apt-get install -yq libgconf-2-4 + +# Install latest chrome dev package and fonts to support major charsets (Chinese, Japanese, Arabic, Hebrew, Thai and a few others) +# Note: this installs the necessary libs to make the bundled version of Chromium that Puppeteer +# installs, work. +RUN apt-get update && apt-get install -y wget --no-install-recommends \ + && wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - \ + && sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \ + && apt-get update \ + && apt-get install -y google-chrome-unstable fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \ + --no-install-recommends \ + && rm -rf /var/lib/apt/lists/* \ + && apt-get purge --auto-remove -y curl \ + && rm -rf /src/*.deb + +# It's a good idea to use dumb-init to help prevent zombie chrome processes. +ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.0/dumb-init_1.2.0_amd64 /usr/local/bin/dumb-init +RUN chmod +x /usr/local/bin/dumb-init + +# Uncomment to skip the chromium download when installing puppeteer. If you do, +# you'll need to launch puppeteer with: +# browser.launch({executablePath: 'google-chrome-unstable'}) +# ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true + +# Install puppeteer so it's available in the container. +RUN npm i puppeteer + +# Add user so we don't need --no-sandbox. +RUN groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \ + && mkdir -p /home/pptruser/Downloads \ + && chown -R pptruser:pptruser /home/pptruser \ + && chown -R pptruser:pptruser /node_modules + +# Run everything after as non-privileged user. +USER pptruser + COPY src/Squidex/package.json /tmp/package.json # Install Node packages diff --git a/src/Squidex/app-config/karma.coverage.conf.js b/src/Squidex/app-config/karma.coverage.conf.js index 1a3168c7c..6ee5490b3 100644 --- a/src/Squidex/app-config/karma.coverage.conf.js +++ b/src/Squidex/app-config/karma.coverage.conf.js @@ -1,7 +1,5 @@ var webpackConfig = require('./webpack.test.coverage'); -process.env.CHROME_BIN = require('puppeteer').executablePath() - module.exports = function (config) { var _config = { /** diff --git a/src/Squidex/package.json b/src/Squidex/package.json index 87b48aa7d..5cfa4e2d3 100644 --- a/src/Squidex/package.json +++ b/src/Squidex/package.json @@ -79,7 +79,6 @@ "node-sass": "4.7.2", "noop-loader": "1.0.0", "null-loader": "0.1.1", - "puppeteer": "^1.2.0", "raw-loader": "0.5.1", "rimraf": "2.6.2", "sass-lint": "1.12.1",