.only-default: &only-default only: - branches - merge_requests - tags - refs image: node:14 variables: SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache stages: - lint - test - quality before_script: - npm install cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ - .nyc_output/ lint: <<: *only-default stage: lint script: - npm run lint test: <<: *only-default stage: test script: - npm test quality: stage: quality needs: - test image: name: sonarsource/sonar-scanner-cli:latest entrypoint: [""] cache: key: "${CI_JOB_NAME}" paths: - .sonar/cache script: - npm run coverage - sonar-scanner only: - merge_requests - master