From 4861558b93e9ff063cd32b1cae30ec37d8d53211 Mon Sep 17 00:00:00 2001 From: rinpatch Date: Tue, 2 Apr 2019 08:58:09 +0300 Subject: [PATCH] Separate CI jobs to 3 stages to allow them to be executed in parallel --- .gitlab-ci.yml | 63 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 31 insertions(+), 32 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index dbdf59f65..9d95ff7af 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,5 @@ image: elixir:1.8.1 -services: - - name: postgres:9.6.2 - command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] variables: POSTGRES_DB: pleroma_test @@ -17,56 +14,58 @@ cache: - deps - _build stages: - - lint + - build - test - - analysis - - docs_build - - docs_deploy + - deploy before_script: - mix local.hex --force - mix local.rebar --force - - mix deps.get + +build: + stage: build + script: + - mix deps.get --only test - mix compile --force - - mix ecto.create - - mix ecto.migrate - -lint: - stage: lint - script: - - mix format --check-formatted - -unit-testing: - stage: test - script: - - mix test --trace --preload-modules - -analysis: - stage: analysis - script: - - mix credo --strict --only=warnings,todo,fixme,consistency,readability docs_build: - stage: docs_build - services: + stage: build only: - master@pleroma/pleroma - develop@pleroma/pleroma variables: MIX_ENV: dev - before_script: - - mix local.hex --force - - mix local.rebar --force + script: - mix deps.get - mix compile - script: - mix docs artifacts: paths: - priv/static/doc +unit-testing: + stage: test + services: + - name: postgres:9.6.2 + command: ["postgres", "-c", "fsync=off", "-c", "synchronous_commit=off", "-c", "full_page_writes=off"] + script: + - mix ecto.create + - mix ecto.migrate + - mix test --trace --preload-modules + +lint: + stage: test + script: + - mix format --check-formatted + +analysis: + stage: test + script: + - mix credo --strict --only=warnings,todo,fixme,consistency,readability + + docs_deploy: - stage: docs_deploy + stage: deploy image: alpine:3.9 services: only: