spec: inputs: node-image: default: 'node:20' prepare-stage: default: 'prepare' check-stage: default: 'check' deploy-stage: default: 'deploy' --- stages: - prepare - check - deploy prepare: image: $[[ inputs.node-image ]] stage: $[[ inputs.prepare-stage ]] script: - apt-get update && apt-get install -y rsync - npm install --ci artifacts: expire_in: 30 mins paths: - node_modules only: - tags - main check: image: $[[ inputs.node-image ]] stage: $[[ inputs.check-stage ]] script: - npm run checkTypes - npm run lint when: on_success only: - tags - main # Deploy publish: stage: $[[ inputs.deploy-stage ]] image: $[[ inputs.node-image ]] only: - tags script: - apt-get update && apt-get install -y rsync - echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >> .npmrc - npm run release -- --no-increment --ci --npm.publish true --no-git