stages: - test - publish include: - template: Dependency-Scanning.gitlab-ci.yml - template: SAST.gitlab-ci.yml - template: Code-Quality.gitlab-ci.yml # Make quality report downloadable code_quality: artifacts: paths: [gl-code-quality-report.json] rules: - if: '$CI_COMMIT_TAG == null' sast: variables: SAST_EXCLUDED_PATHS: test/** # Lint js files. lint: image: node stage: test script: - npm install -g eslint@8.57.0 - eslint --ignore-pattern "**/*.min.js" $CI_PROJECT_DIR # Performs unit testing. unit-test: coverage: '/Statements\s*:\s*(\d+(?:\.\d+)?\%)/' image: node:16-alpine stage: test artifacts: paths: [coverage] script: - npm i -g mocha nyc - npm ci . - npm run coverage # Publish package to NPM. publish: stage: publish image: node only: - tags - triggers script: - npm set //registry.npmjs.org/:_authToken $NPM_TOKEN - npm publish