55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
image: docker:20.10.22
|
|
|
|
stages:
|
|
- test
|
|
- build
|
|
|
|
##############
|
|
# TEST STAGE #
|
|
##############
|
|
|
|
test:
|
|
stage: test
|
|
image: docker/compose:latest
|
|
variables:
|
|
DOCKER_TLS_CERTDIR: ''
|
|
services:
|
|
- docker:dind
|
|
script:
|
|
- docker-compose -f docker-compose.ci.tools.yml -p ad-tools --env-file ci/.env.ci up -d
|
|
- sh ci/wait-up.sh
|
|
- docker-compose -f docker-compose.ci.service.yml -p ad-service --env-file ci/.env.ci up -d
|
|
- docker exec -t v3-ad-api sh -c "npm run test:integration:ci"
|
|
coverage: /All files[^|]*\|[^|]*\s+([\d\.]+)/
|
|
rules:
|
|
- if: '$CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH || $CI_COMMIT_MESSAGE =~ /--check/ || $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
|
when: always
|
|
|
|
###############
|
|
# BUILD STAGE #
|
|
###############
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:20.10.22
|
|
variables:
|
|
DOCKER_TLS_CERTDIR: ''
|
|
services:
|
|
- docker:dind
|
|
before_script:
|
|
- echo -n $CI_REGISTRY_PASSWORD | docker login -u $CI_REGISTRY_USER --password-stdin $CI_REGISTRY
|
|
script:
|
|
- export VERSION=$(docker run --rm -v "$PWD":/usr/src/app:ro -w /usr/src/app node:slim node -p "require('./package.json').version")
|
|
- docker pull $CI_REGISTRY_IMAGE:latest || true
|
|
- >
|
|
docker build
|
|
--pull
|
|
--cache-from $CI_REGISTRY_IMAGE:latest
|
|
--tag $CI_REGISTRY_IMAGE:$VERSION
|
|
--tag $CI_REGISTRY_IMAGE:latest
|
|
.
|
|
- docker push $CI_REGISTRY_IMAGE:$VERSION
|
|
- docker push $CI_REGISTRY_IMAGE:latest
|
|
only:
|
|
- main
|