129 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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:
 | |
|   - npm install -g @shipzone/npmci
 | |
| 
 | |
| # ====================
 | |
| # security stage
 | |
| # ====================
 | |
| 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: test
 | |
|   script:
 | |
|     - npmci npm prepare
 | |
|     - npmci node install stable
 | |
|     - npmci npm install
 | |
|     - npmci npm test
 | |
|   coverage: /\d+.?\d+?\%\s*coverage/
 | |
|   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 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 prepare
 | |
|     - npmci npm install
 | |
|     - npmci command npm run buildDocs
 | |
|   tags:
 | |
|     - lossless
 | |
|     - docker
 | |
|     - notpriv
 | |
|   only:
 | |
|     - tags
 | |
|   artifacts:
 | |
|     expire_in: 1 week
 | |
|     paths:
 | |
|       - public
 | |
|   allow_failure: true
 |