diff --git a/.ci/node10/Dockerfile.linux b/.ci/node10/Dockerfile.linux new file mode 100644 index 00000000..a7cf643b --- /dev/null +++ b/.ci/node10/Dockerfile.linux @@ -0,0 +1,17 @@ +FROM node:10 + +RUN apt-get update && \ + apt-get -y install xvfb gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 \ + libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 \ + libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 \ + libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 \ + libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget && \ + rm -rf /var/lib/apt/lists/* + +# 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 + +# Run everything after as non-privileged user. +USER pptruser diff --git a/.ci/node12/Dockerfile.linux b/.ci/node12/Dockerfile.linux new file mode 100644 index 00000000..79f94261 --- /dev/null +++ b/.ci/node12/Dockerfile.linux @@ -0,0 +1,17 @@ +FROM node:12 + +RUN apt-get update && \ + apt-get -y install xvfb gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 \ + libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 \ + libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 \ + libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 \ + libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget && \ + rm -rf /var/lib/apt/lists/* + +# 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 + +# Run everything after as non-privileged user. +USER pptruser diff --git a/.cirrus.yml b/.cirrus.yml index aaba646f..650f55ec 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -15,7 +15,13 @@ task: - name: Chromium (node8 + linux) container: dockerfile: .ci/node8/Dockerfile.linux - xvfb_start_background_script: Xvfb :99 -ac -screen 0 1024x768x24 + - name: Chromium (node10 + linux) + container: + dockerfile: .ci/node10/Dockerfile.linux + - name: Chromium (node12 + linux) + container: + dockerfile: .ci/node12/Dockerfile.linux + xvfb_start_background_script: Xvfb :99 -ac -screen 0 1024x768x24 install_script: npm install --unsafe-perm lint_script: npm run lint coverage_script: npm run coverage diff --git a/utils/testserver/index.js b/utils/testserver/index.js index 85f2d1fd..c85229c3 100644 --- a/utils/testserver/index.js +++ b/utils/testserver/index.js @@ -46,6 +46,7 @@ class TestServer { const server = new TestServer(dirPath, port, { key: fs.readFileSync(path.join(__dirname, 'key.pem')), cert: fs.readFileSync(path.join(__dirname, 'cert.pem')), + secureProtocol: 'TLSv1_2_method', passphrase: 'aaaa', }); await new Promise(x => server._server.once('listening', x));