1
0
Fork 0
salty-dog/.gitlab-ci.yml

157 lines
2.7 KiB
YAML
Raw Normal View History

2019-06-16 04:08:12 +00:00
stages:
- status-pre
- build
- image
- publish
- status-post
# template jobs
.branch-deploy: &branch-deploy
only:
- master
.build-curl: &build-curl
image: apextoaster/base:1.2
tags:
- platform:k8s
- runner:shared
.build-climate: &build-climate
image: apextoaster/code-climate:0.6
tags:
- platform:k8s
- runner:shared
allow_failure: false
variables:
CI_BRANCH: "${CI_COMMIT_REF_NAME}"
GIT_BRANCH: "${CI_COMMIT_REF_NAME}"
GIT_COMMIT_SHA: "${CI_COMMIT_SHA}"
.build-codecov: &build-codecov
image: apextoaster/codecov:3.1
tags:
- platform:k8s
- runner:shared
allow_failure: false
.build-docker: &build-docker
2019-08-21 11:54:21 +00:00
image: docker:18.09.7
2019-06-16 04:08:12 +00:00
services:
2019-08-21 11:54:21 +00:00
- docker:18.09.7-dind
2019-06-16 04:08:12 +00:00
tags:
- platform:k8s
- runner:shared
allow_failure: false
before_script:
# prep secrets
- mkdir ${HOME}/.docker
- echo "${DOCKER_SECRET}" | base64 -d > ${HOME}/.docker/config.json
- docker info
2019-07-01 01:36:04 +00:00
script:
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
2019-06-16 04:08:12 +00:00
after_script:
- rm -rfv ${HOME}/.docker
variables: &vars-docker
DOCKER_DRIVER: overlay2
DOCKER_HOST: tcp://localhost:2375
.build-node: &build-node
2019-06-29 01:37:58 +00:00
image: apextoaster/node:11.15
2019-06-16 04:08:12 +00:00
tags:
- platform:k8s
- runner:shared
allow_failure: false
before_script:
- echo "${NPM_SECRET}" | base64 -d > ${HOME}/.npmrc
.build-sonar: &build-sonar
image: apextoaster/sonar-scanner:3.3
tags:
- platform:k8s
- runner:shared
allow_failure: false
# build jobs
build-node:
<<: [*build-node]
stage: build
variables:
GIT_SUBMODULE_STRATEGY: recursive
script:
2019-07-01 00:43:35 +00:00
- make clean-target build test
2019-06-16 04:08:12 +00:00
artifacts:
expire_in: 1 week
paths:
- out/*.js
- out/*.js.map
2019-06-16 04:08:12 +00:00
cache:
key: "${CI_COMMIT_REF_SLUG}"
policy: pull-push
paths:
- node_modules
- out/cache
2019-06-16 04:08:12 +00:00
2019-07-01 01:36:04 +00:00
build-image-branch:
2019-06-16 04:08:12 +00:00
<<: [*build-docker]
stage: image
2019-07-01 01:36:04 +00:00
except:
- tags
2019-06-16 04:08:12 +00:00
dependencies:
- build-node
2019-07-01 01:36:04 +00:00
variables:
<<: [*vars-docker]
IMAGE_TAG: "ssube/salty-dog:${CI_COMMIT_REF_SLUG}"
build-image-tag:
<<: [*build-docker]
stage: image
only:
- tags
dependencies:
- build-node
variables:
<<: [*vars-docker]
IMAGE_TAG: "ssube/salty-dog:${CI_COMMIT_TAG}"
2019-06-16 04:08:12 +00:00
# publish jobs
publish-npm:
<<: [*build-node]
stage: publish
only:
- tags
dependencies:
- build-node
script:
- npm publish
# commit status
github-pending:
<<: [*build-curl]
stage: status-pre
script:
- ./scripts/github-status.sh pending
github-failure:
<<: [*build-curl]
stage: status-post
when: on_failure
script:
- ./scripts/github-status.sh failure
github-success:
<<: [*build-curl]
stage: status-post
when: on_success
script:
- ./scripts/github-status.sh success