Compare commits

...

2 commits

Author SHA1 Message Date
86707b3c88
dropme: remove other drone tasks for faster debugging
Some checks failed
continuous-integration/drone/push Build is failing
2025-07-17 15:38:05 +02:00
4076d52f1a
wip: feat(ci): Build docker container 2025-07-17 15:38:04 +02:00

View file

@ -8,98 +8,37 @@ services:
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
- name: docker
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
trigger:
event:
- push
steps:
- name: compute cache key
image: docker.io/library/elixir:1.18.3-otp-27
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
- name: build & publish container?
image: docker:dind
volumes:
- name: cache
path: /cache
- name: lint
image: docker.io/library/elixir:1.18.3-otp-27
- name: dockersock
path: /var/run
commands:
# Install hex package manager
- mix local.hex --force
# Fetch dependencies
- 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
- sleep 5 # give docker time to start
- docker build --tag git.local-it.org/ci-builder/mitgliederverwaltung:latest .
- docker login git.local-it.org
- docker push git.local-it.org/ci-builder/mitgliederverwaltung:latest
volumes:
- name: cache
host:
path: /tmp/drone_cache
- name: dockersock
temp: {}
---
kind: pipeline
type: docker