.only-default: &only-default only: - master - merge_requests stages: - "test" - "build" - "deploy" test: stage: "test" <<: *only-default image: "node:lts-buster" script: - "npm i" - "npm run test" artifacts: paths: - "node_modules" build: stage: "build" <<: *only-default image: "node:lts-buster" script: - "npm run build" after_script: - "echo $CI_COMMIT_SHA > VERSION" cache: key: "$CI_COMMIT_REF_NAME" policy: "push" paths: - "dist" - "node_modules" artifacts: paths: - "dist" - "node_modules" deploy: stage: "deploy" image: "node:lts-buster" only: - master script: - "npm publish"