1
0
mirror of https://gitlab.com/psono/psono-client synced 2025-04-19 03:22:16 +03:00

split webpack builds into multiple commands

Signed-off-by: Sascha Pfeiffer <sascha.pfeiffer@psono.com>
This commit is contained in:
Sascha Pfeiffer 2022-02-18 18:58:04 +01:00
parent 8bf94bf784
commit 8b26eb0457
9 changed files with 75 additions and 38 deletions

View File

@ -14,7 +14,7 @@ test-unittests:
stage: test
image: psono-docker.jfrog.io/ubuntu:20.04
script:
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run test
# - DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends xvfb x11vnc fluxbox xterm chromium-browser
## - curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
@ -29,7 +29,9 @@ test-linter:
stage: test
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildfirefox
- gulp updateversion
- npm install -g addons-linter@1.17.0
- cat ./build/firefox/manifest.json
- addons-linter --help
@ -72,7 +74,9 @@ build-docker-image:
DOCKER_HOST: 'tcp://docker:2375'
script:
- sh ./var/download_translations_from_artifactory.sh
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildwebclient
- gulp updateversion
- curl -fSL "https://download.docker.com/linux/static/stable/x86_64/docker-17.12.1-ce.tgz" -o docker.tgz && echo "1270dce1bd7e1838d62ae21d2505d87f16efc1d9074645571daaefdfd0c14054 *docker.tgz" | sha256sum -c - && tar -xzvf docker.tgz && mv docker/* /usr/local/bin/ && rm -Rf docker*
- docker info
- echo $artifactory_credentials | docker login --username=gitlab --password-stdin psono-docker.jfrog.io
@ -92,7 +96,9 @@ build-firefox-extension:
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/download_translations_from_artifactory.sh
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildfirefox
- gulp updateversion
- sh ./var/package-firefox-extension.sh
- curl -fL https://getcli.jfrog.io | sh
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
@ -115,7 +121,9 @@ build-chrome-extension:
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/download_translations_from_artifactory.sh
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildchrome
- gulp updateversion
- sh ./var/package-chrome-extension.sh
- curl -fL https://getcli.jfrog.io | sh
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
@ -138,7 +146,9 @@ build-webclient:
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/download_translations_from_artifactory.sh
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildwebclient
- gulp updateversion
- sh ./var/package-webclient.sh
- curl -fL https://getcli.jfrog.io | sh
- ./jfrog rt c rt-server-1 --url=https://psono.jfrog.io/psono --user=gitlab --password=$artifactory_credentials
@ -243,7 +253,9 @@ deploy-chrome:
stage: deploy
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildchrome
- gulp updateversion
- sh ./var/deploy-chrome-extension.sh
environment:
name: chrome-webstore
@ -258,7 +270,9 @@ deploy-firefox:
stage: deploy
image: psono-docker.jfrog.io/ubuntu:18.04
script:
- sh ./var/build-ubuntu.sh
- sh ./var/prep-build.sh
- npm run buildfirefox
- gulp updateversion
- sh ./var/deploy-firefox-extension.sh
environment:
name: firefox-webstore

View File

@ -8,7 +8,10 @@
"author": "Sascha Pfeiffer",
"scripts": {
"dev": "webpack serve --config webpack.environment.dev.js",
"build": "webpack --config webpack.environment.prod.js",
"build": "webpack --config webpack.environment.prod.all.js",
"buildchrome": "webpack --config webpack.environment.prod.chrome.js",
"buildfirefox": "webpack --config webpack.environment.prod.firefox.js",
"buildwebclient": "webpack --config webpack.environment.prod.webclient.js",
"test": "jest"
},
"jest": {

View File

@ -1,17 +0,0 @@
#!/usr/bin/env bash
apt-get update && \
apt-get install -y libfontconfig zip git apt-transport-https ca-certificates curl build-essential openssl && \
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
apt-get install -y nodejs && \
node --version && \
npm --version && \
#npm config set registry https://psono.jfrog.io/psono/api/npm/npm/ && \
#npm config set @typescript-eslint:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
#npm config set @types:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
#npm config set @babel:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
#npm config set @webassemblyjs:registry https://psono.jfrog.io/psono/api/npm/npm/ && \
npm ci && \
npm install -g node-poeditor && \
npm install -g add gulp && \
npm run build && \
gulp updateversion

10
var/prep-build.sh Normal file
View File

@ -0,0 +1,10 @@
#!/usr/bin/env bash
apt-get update && \
apt-get install -y libfontconfig zip git apt-transport-https ca-certificates curl build-essential openssl && \
curl -sL https://deb.nodesource.com/setup_16.x | bash - && \
apt-get install -y nodejs && \
node --version && \
npm --version && \
npm ci && \
npm install -g node-poeditor && \
npm install -g add gulp

View File

@ -1,20 +1,9 @@
const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin');
const { merge } = require('webpack-merge');
const chrome = require('./webpack.target.chrome');
const firefox = require('./webpack.target.firefox');
const webclient = require('./webpack.target.webclient');
const prodConfig = {
mode: 'production',
devtool: 'source-map',
plugins: [
],
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
},
};
const prodConfig = require('./webpack.environment.prod.common');
module.exports = [
merge(chrome, prodConfig),

View File

@ -0,0 +1,8 @@
const webpack = require('webpack');
const { merge } = require('webpack-merge');
const chrome = require('./webpack.target.chrome');
const prodConfig = require('./webpack.environment.prod.common');
module.exports = [
merge(chrome, prodConfig),
];

View File

@ -0,0 +1,13 @@
const webpack = require('webpack');
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
mode: 'production',
devtool: 'source-map',
plugins: [
],
optimization: {
minimize: true,
minimizer: [new TerserPlugin()],
},
};

View File

@ -0,0 +1,9 @@
const webpack = require('webpack');
const { merge } = require('webpack-merge');
const firefox = require('./webpack.target.firefox');
const prodConfig = require('./webpack.environment.prod.common');
module.exports = [
merge(firefox, prodConfig),
];

View File

@ -0,0 +1,8 @@
const webpack = require('webpack');
const { merge } = require('webpack-merge');
const prodConfig = require('./webpack.environment.prod.common');
const webclient = require('./webpack.target.webclient');
module.exports = [
merge(webclient, prodConfig)
];