include: - local: /config/gitlab/ci-tools.yml - local: /config/gitlab/ci-rules.yml stages: - status-pre - build - image - publish - status-post # build jobs build-node: stage: build extends: - .build-node script: - make build test artifacts: expire_in: 1 day paths: - out/ cache: key: "${CI_COMMIT_REF_SLUG}" policy: pull-push paths: - node_modules/ build-image-branch: stage: image extends: - .build-docker - .deploy-branches dependencies: - build-node build-image-tag: stage: image extends: - .build-docker - .deploy-tags dependencies: - build-node # publish jobs publish-npm: stage: publish extends: - .build-node - .deploy-tags dependencies: - build-node script: - npm publish # commit status climate-pending: stage: status-pre extends: - .build-climate script: - cc-test-reporter before-build climate-failure: stage: status-post extends: - .build-climate when: on_failure script: - cc-test-reporter after-build --debug --exit-code 1 climate-success: stage: status-post extends: - .build-climate dependencies: - build-node script: - make upload-climate codecov-success: stage: status-post extends: - .build-codecov when: on_success dependencies: - build-node script: - make upload-codecov github-pending: stage: status-pre extends: - .build-curl script: - ${CI_PROJECT_DIR}/scripts/github-status.sh pending github-failure: stage: status-post extends: - .build-curl when: on_failure script: - ${CI_PROJECT_DIR}/scripts/github-status.sh failure github-success: stage: status-post extends: - .build-curl when: on_success script: - ${CI_PROJECT_DIR}/scripts/github-status.sh success