Compare commits
2 commits
86707b3c88
...
58bd49c27a
| Author | SHA1 | Date | |
|---|---|---|---|
| 58bd49c27a | |||
| 384e20b97c |
1 changed files with 16 additions and 78 deletions
94
.drone.yml
94
.drone.yml
|
|
@ -8,98 +8,36 @@ services:
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: postgres
|
POSTGRES_USER: postgres
|
||||||
POSTGRES_PASSWORD: postgres
|
POSTGRES_PASSWORD: postgres
|
||||||
|
- name: docker
|
||||||
|
image: docker:dind
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- name: dockersock
|
||||||
|
path: /var/run
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: compute cache key
|
- name: build & publish container?
|
||||||
image: docker.io/library/elixir:1.18.3-otp-27
|
image: docker:dind
|
||||||
commands:
|
|
||||||
- mix_lock_hash=$(sha256sum mix.lock | cut -d ' ' -f 1)
|
|
||||||
- echo "$DRONE_REPO_OWNER/$DRONE_REPO_NAME/$mix_lock_hash" >> .cache_key
|
|
||||||
# Print cache key for debugging
|
|
||||||
- cat .cache_key
|
|
||||||
|
|
||||||
- name: restore-cache
|
|
||||||
image: drillster/drone-volume-cache
|
|
||||||
settings:
|
|
||||||
restore: true
|
|
||||||
mount:
|
|
||||||
- ./deps
|
|
||||||
- ./_build
|
|
||||||
ttl: 30
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: cache
|
- name: dockersock
|
||||||
path: /cache
|
path: /var/run
|
||||||
|
|
||||||
- name: lint
|
|
||||||
image: docker.io/library/elixir:1.18.3-otp-27
|
|
||||||
commands:
|
commands:
|
||||||
# Install hex package manager
|
- sleep 5 # give docker time to start
|
||||||
- mix local.hex --force
|
- docker ps -a
|
||||||
# Fetch dependencies
|
- docker build --tag mitgliederverwaltung .
|
||||||
- mix deps.get
|
|
||||||
# Check for compilation errors & warnings
|
|
||||||
- mix compile --warnings-as-errors
|
|
||||||
# Check formatting
|
|
||||||
- mix format --check-formatted
|
|
||||||
# Security checks
|
|
||||||
- mix sobelow --config
|
|
||||||
# Check dependencies for known vulnerabilities
|
|
||||||
- mix deps.audit
|
|
||||||
# Check for dependencies that are not maintained anymore
|
|
||||||
- mix hex.audit
|
|
||||||
# Provide hints for improving code quality
|
|
||||||
- mix credo
|
|
||||||
|
|
||||||
- name: wait_for_postgres
|
|
||||||
image: docker.io/library/postgres:17.5
|
|
||||||
commands:
|
|
||||||
# Wait for postgres to become available
|
|
||||||
- |
|
|
||||||
for i in {1..20}; do
|
|
||||||
if pg_isready -h postgres -U postgres; then
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
true
|
|
||||||
fi
|
|
||||||
sleep 2
|
|
||||||
done
|
|
||||||
echo "Postgres did not become available, aborting."
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
- name: test
|
|
||||||
image: docker.io/library/elixir:1.18.3-otp-27
|
|
||||||
environment:
|
|
||||||
MIX_ENV: test
|
|
||||||
TEST_POSTGRES_HOST: postgres
|
|
||||||
TEST_POSTGRES_PORT: 5432
|
|
||||||
commands:
|
|
||||||
# Install hex package manager
|
|
||||||
- mix local.hex --force
|
|
||||||
# Fetch dependencies
|
|
||||||
- mix deps.get
|
|
||||||
# Run tests
|
|
||||||
- mix test
|
|
||||||
|
|
||||||
- name: rebuild-cache
|
|
||||||
image: drillster/drone-volume-cache
|
|
||||||
settings:
|
|
||||||
rebuild: true
|
|
||||||
mount:
|
|
||||||
- ./deps
|
|
||||||
- ./_build
|
|
||||||
volumes:
|
|
||||||
- name: cache
|
|
||||||
path: /cache
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: cache
|
- name: cache
|
||||||
host:
|
host:
|
||||||
path: /tmp/drone_cache
|
path: /tmp/drone_cache
|
||||||
|
|
||||||
|
- name: dockersock
|
||||||
|
temp: {}
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue