diff --git a/.drone.yml b/.drone.yml index 2c8d504..bb5ec1c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -37,24 +37,25 @@ steps: - name: lint image: docker.io/library/elixir:1.18.3-otp-27 commands: + - set -eu # Install hex package manager - - mix local.hex --force + - timeout --signal=KILL 3m mix local.hex --force # Fetch dependencies - - mix deps.get + - timeout --signal=KILL 10m mix deps.get # Check for compilation errors & warnings - - mix compile --warnings-as-errors + - timeout --signal=KILL 10m mix compile --warnings-as-errors # Check formatting - - mix format --check-formatted + - timeout --signal=KILL 3m mix format --check-formatted # Security checks - - mix sobelow --config + - timeout --signal=KILL 10m mix sobelow --config # Check dependencies for known vulnerabilities - - mix deps.audit + - timeout --signal=KILL 10m mix deps.audit # Check for dependencies that are not maintained anymore - - mix hex.audit + - timeout --signal=KILL 10m mix hex.audit # Provide hints for improving code quality - - mix credo + - timeout --signal=KILL 15m mix credo # Check that translations are up to date - - mix gettext.extract --check-up-to-date + - timeout --signal=KILL 5m mix gettext.extract --check-up-to-date - name: wait_for_postgres image: docker.io/library/postgres:18.1 @@ -79,12 +80,13 @@ steps: TEST_POSTGRES_HOST: postgres TEST_POSTGRES_PORT: 5432 commands: + - set -eu # Install hex package manager - mix local.hex --force # Fetch dependencies - - mix deps.get + - timeout --signal=KILL 10m mix deps.get # Run fast tests (excludes slow/performance and UI tests) - - mix test --exclude slow --exclude ui + - timeout --signal=KILL 20m mix test --exclude slow --exclude ui - name: rebuild-cache image: drillster/drone-volume-cache @@ -144,24 +146,25 @@ steps: - name: lint image: docker.io/library/elixir:1.18.3-otp-27 commands: + - set -eu # Install hex package manager - - mix local.hex --force + - timeout --signal=KILL 3m mix local.hex --force # Fetch dependencies - - mix deps.get + - timeout --signal=KILL 10m mix deps.get # Check for compilation errors & warnings - - mix compile --warnings-as-errors + - timeout --signal=KILL 10m mix compile --warnings-as-errors # Check formatting - - mix format --check-formatted + - timeout --signal=KILL 3m mix format --check-formatted # Security checks - - mix sobelow --config + - timeout --signal=KILL 10m mix sobelow --config # Check dependencies for known vulnerabilities - - mix deps.audit + - timeout --signal=KILL 10m mix deps.audit # Check for dependencies that are not maintained anymore - - mix hex.audit + - timeout --signal=KILL 10m mix hex.audit # Provide hints for improving code quality - - mix credo + - timeout --signal=KILL 15m mix credo # Check that translations are up to date - - mix gettext.extract --check-up-to-date + - timeout --signal=KILL 5m mix gettext.extract --check-up-to-date - name: wait_for_postgres image: docker.io/library/postgres:18.1 @@ -186,12 +189,13 @@ steps: TEST_POSTGRES_HOST: postgres TEST_POSTGRES_PORT: 5432 commands: + - set -eu # Install hex package manager - mix local.hex --force # Fetch dependencies - - mix deps.get + - timeout --signal=KILL 10m mix deps.get # Run all tests (including slow/performance and UI tests) - - mix test + - timeout --signal=KILL 30m mix test - name: rebuild-cache image: drillster/drone-volume-cache