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: extends: - .build-node stage: build script: - make ci artifacts: when: always expire_in: 1 day paths: - out/ cache: key: "${CI_COMMIT_REF_SLUG}" policy: pull-push paths: - node_modules/ - out/api - out/cache - out/tmp build-image-alpine-branch: extends: - .build-docker stage: image except: - tags script: - ./scripts/docker-build.sh --push --default variables: IMAGE_ARCH: alpine build-image-alpine-tag: extends: - .build-docker stage: image only: - tags script: - ./scripts/docker-build.sh --push --default variables: IMAGE_ARCH: alpine build-image-stretch-branch: extends: [.build-docker] stage: image except: - tags script: - ./scripts/docker-build.sh --push variables: IMAGE_ARCH: stretch build-image-stretch-tag: extends: - .build-docker stage: image only: - tags script: - ./scripts/docker-build.sh --push variables: IMAGE_ARCH: stretch # publish jobs publish-npm: extends: - .build-node stage: publish only: - tags dependencies: - build-node script: - npm publish # commit status climate-pending: stage: status-pre extends: - .build-climate script: - cc-test-reporter before-build 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: extends: - .build-curl stage: status-pre script: - ./scripts/github-status.sh pending github-failure: extends: - .build-curl stage: status-post when: on_failure script: - ./scripts/github-status.sh failure github-success: extends: - .build-curl stage: status-post when: on_success script: - ./scripts/github-status.sh success