Merge branch 'ci-tests' into 'master'

feat: Add dependency phase for easier caching

See merge request mythic-insight/legendary-doc-site!2
This commit is contained in:
Robert Prehn 2021-03-26 03:29:02 +00:00
commit 4a235c6c17

View file

@ -1,4 +1,5 @@
stages:
- dependencies
- test
- deploy_tags
- deploy
@ -12,9 +13,37 @@ variables:
DOCKER_HOST: tcp://docker:2376
GIT_STRATEGY: fetch
fetch_application_dependencies:
stage: dependencies
image: "elixir:1.10"
cache:
key:
files:
- mix.lock
paths:
- _build/
- deps/
script:
- mix deps.get
fetch_asset_dependencies:
stage: dependencies
image: "node:15.0"
only:
- master
cache:
key:
files:
- apps/app/assets/package-lock.json
paths:
- apps/app/assets/node_modules/
script:
- cd apps/app/assets/ && npm install
test:
stage: test
needs: []
needs:
- fetch_application_dependencies
image: "elixir:1.10"
services:
- name: postgres:12
@ -29,21 +58,14 @@ test:
build_image_for_commit:
stage: test
needs: []
needs:
- fetch_asset_dependencies
- fetch_application_dependencies
image: "docker:19.03.12"
only:
- master
services:
- name: docker:19.03.12-dind
cache:
key:
files:
- mix.lock
- apps/app/assets/package-lock.json
paths:
- _build/
- deps/
- apps/app/assets/node_modules/
script:
- docker login "https://${CI_REGISTRY}" -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
- docker pull $CI_REGISTRY_IMAGE:latest || true