From fe680c04e6e124a1e9ddfb768ff8e0a7411e7a5f Mon Sep 17 00:00:00 2001 From: Joao P Dubas Date: Mon, 8 Jul 2024 18:20:50 +0000 Subject: [PATCH] chore(ci): use volumes to share depedencies --- .drone.yml | 69 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/.drone.yml b/.drone.yml index 31cdcd5..0779770 100644 --- a/.drone.yml +++ b/.drone.yml @@ -35,83 +35,91 @@ steps: path_style: true region: us-east-1 restore: true + volumes: &volumes + - name: app_build + path: _build + - name: app_deps + path: deps + + - name: dependencies + image: &elixir 'hexpm/elixir:1.17.2-erlang-27.0-debian-bookworm-20240701-slim' + commands: + - apt-get update + - apt-get install -y git make + - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + volumes: *volumes - name: test - image: &elixir 'hexpm/elixir:1.17.2-erlang-27.0-debian-bookworm-20240701-slim' + image: *elixir environment: MIX_ENV: test POSTGRES_HOST: &db_host db POSTGRES_USER: &db_user postgres POSTGRES_PASS: &db_pass postgres commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix test --cover --trace --slowest 10 + volumes: *volumes depends_on: - 'database healthcheck' - - 'restore cache' + - 'dependencies' - name: compile app image: *elixir commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix compile --force --all-warnings --warnings-as-errors + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: audit deps image: *elixir commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix hex.audit - mix deps.audit - mix deps.unlock --check-unused # - mix hex.outdated + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: format check image: *elixir commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix format --dry-run --check-formatted + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: credo check image: *elixir commands: - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix credo suggest --strict --format=flycheck + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: dialyzer check image: *elixir commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix dialyzer --no-check --quiet --ignore-exit-status --format short + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: sobelow check image: *elixir commands: - - apt-get update - - apt-get install -y git make - - mix do local.rebar --force, local.hex --force, deps.get, deps.compile + - mix do local.rebar --force, local.hex --force - mix sobelow + volumes: *volumes depends_on: - - 'restore cache' + - 'dependencies' - name: rebuild cache image: *drone_cache @@ -132,6 +140,7 @@ steps: path_style: true rebuild: true region: us-east-1 + volumes: *volumes depends_on: - 'test' - 'compile app' @@ -147,3 +156,9 @@ services: environment: POSTGRES_USER: *db_user POSTGRES_PASSWORD: *db_pass + +volumes: + - name: app_build + temp: {} + - name: app_deps + temp: {}