diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2627dbf..a70f7eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,10 +7,58 @@ cache: key: '$CI_BUILD_STAGE' stages: - - only + - security + - test + - release + - metadata + +before_script: + - npm install -g @shipzone/npmci + +# ==================== +# security stage +# ==================== +mirror: + stage: security + script: + - npmci git mirror + only: + - tags + tags: + - lossless + - docker + - notpriv + +auditProductionDependencies: + image: registry.gitlab.com/hosttoday/ht-docker-node:npmci + stage: security + script: + - npmci npm prepare + - npmci command npm install --production --ignore-scripts + - npmci command npm config set registry https://registry.npmjs.org + - npmci command npm audit --audit-level=high --only=prod --production + tags: + - docker + allow_failure: true + +auditDevDependencies: + image: registry.gitlab.com/hosttoday/ht-docker-node:npmci + stage: security + script: + - npmci npm prepare + - npmci command npm install --ignore-scripts + - npmci command npm config set registry https://registry.npmjs.org + - npmci command npm audit --audit-level=high --only=dev + tags: + - docker + allow_failure: true + +# ==================== +# test stage +# ==================== testStable: - stage: only + stage: test script: - npmci npm prepare - npmci node install stable @@ -20,3 +68,74 @@ testStable: tags: - docker +testBuild: + stage: test + script: + - npmci npm prepare + - npmci node install stable + - npmci npm install + - npmci command npm run build + coverage: /\d+.?\d+?\%\s*coverage/ + tags: + - docker + +release: + stage: release + script: + - npmci node install stable + - npmci npm publish + only: + - tags + tags: + - lossless + - docker + - notpriv + +# ==================== +# metadata stage +# ==================== +codequality: + stage: metadata + allow_failure: true + only: + - tags + script: + - npmci command npm install -g tslint typescript + - npmci npm prepare + - npmci npm install + - npmci command "tslint -c tslint.json ./ts/**/*.ts" + tags: + - lossless + - docker + - priv + +trigger: + stage: metadata + script: + - npmci trigger + only: + - tags + tags: + - lossless + - docker + - notpriv + +pages: + stage: metadata + script: + - npmci node install lts + - npmci command npm install -g @gitzone/tsdoc + - npmci npm prepare + - npmci npm install + - npmci command tsdoc + tags: + - lossless + - docker + - notpriv + only: + - tags + artifacts: + expire_in: 1 week + paths: + - public + allow_failure: true diff --git a/package.json b/package.json index 6bbd8fd..2dbc4cf 100644 --- a/package.json +++ b/package.json @@ -42,4 +42,4 @@ "browserslist": [ "last 1 chrome versions" ] -} +} \ No newline at end of file diff --git a/ts/smartpuppeteer.classes.smartpuppeteer.ts b/ts/smartpuppeteer.classes.smartpuppeteer.ts index 233ef39..596cc18 100644 --- a/ts/smartpuppeteer.classes.smartpuppeteer.ts +++ b/ts/smartpuppeteer.classes.smartpuppeteer.ts @@ -29,12 +29,12 @@ export const getEnvAwareBrowserInstance = async ( headless: true, ...(() => { const returnObject: any = {}; - const googleChrome = plugins.smartshell.which.sync('google-chrome') - if(googleChrome) { - returnObject.executablePath = googleChrome - } + const googleChrome = plugins.smartshell.which.sync('google-chrome'); + if (googleChrome) { + returnObject.executablePath = googleChrome; + } return returnObject; - })() + })(), }); return headlessBrowser;