# gitzone ci_default image: registry.gitlab.com/hosttoday/ht-docker-node:npmci cache: paths: - .npmci_cache/ key: '$CI_BUILD_STAGE' stages: - security - test - release - metadata before_script: - pnpm install -g pnpm - pnpm install -g @shipzone/npmci - npmci npm prepare # ==================== # security stage # ==================== # ==================== # security stage # ==================== auditProductionDependencies: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci stage: security script: - npmci command npm config set registry https://registry.npmjs.org - npmci command pnpm audit --audit-level=high --prod tags: - lossless - docker allow_failure: true auditDevDependencies: image: registry.gitlab.com/hosttoday/ht-docker-node:npmci stage: security script: - npmci command npm config set registry https://registry.npmjs.org - npmci command pnpm audit --audit-level=high --dev tags: - lossless - docker allow_failure: true # ==================== # test stage # ==================== testStable: stage: test script: - npmci node install stable - npmci npm install - npmci npm test coverage: /\d+.?\d+?\%\s*coverage/ tags: - docker testBuild: stage: test script: - npmci node install stable - npmci npm install - npmci npm 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 typescript - npmci npm prepare - npmci npm install tags: - lossless - docker - priv trigger: stage: metadata script: - npmci trigger only: - tags tags: - lossless - docker - notpriv pages: stage: metadata script: - npmci node install stable - npmci npm install - npmci command npm run buildDocs tags: - lossless - docker - notpriv only: - tags artifacts: expire_in: 1 week paths: - public allow_failure: true