Compare commits
2 commits
f9ad8fa753
...
9652d33a01
| Author | SHA1 | Date | |
|---|---|---|---|
| 9652d33a01 | |||
| 581209510c |
1 changed files with 94 additions and 2 deletions
96
.drone.yml
96
.drone.yml
|
|
@ -1,11 +1,100 @@
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
|
name: check
|
||||||
|
|
||||||
|
services:
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/library/postgres:17.6
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: postgres
|
||||||
|
|
||||||
|
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
|
||||||
|
- cat .cache_key
|
||||||
|
|
||||||
|
- name: restore-cache
|
||||||
|
image: drillster/drone-volume-cache
|
||||||
|
settings:
|
||||||
|
restore: true
|
||||||
|
mount:
|
||||||
|
- ./deps
|
||||||
|
- ./_build
|
||||||
|
ttl: 30
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
path: /cache
|
||||||
|
|
||||||
|
- name: lint
|
||||||
|
image: docker.io/library/elixir:1.18.3-otp-27
|
||||||
|
commands:
|
||||||
|
- mix local.hex --force
|
||||||
|
- mix deps.get
|
||||||
|
- mix compile --warnings-as-errors
|
||||||
|
- mix format --check-formatted
|
||||||
|
- mix sobelow --config
|
||||||
|
- mix deps.audit
|
||||||
|
- mix hex.audit
|
||||||
|
- mix credo
|
||||||
|
|
||||||
|
- name: wait_for_postgres
|
||||||
|
image: docker.io/library/postgres:17.6
|
||||||
|
commands:
|
||||||
|
- |
|
||||||
|
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:
|
||||||
|
- mix local.hex --force
|
||||||
|
- mix deps.get
|
||||||
|
- mix test
|
||||||
|
|
||||||
|
- name: rebuild-cache
|
||||||
|
image: drillster/drone-volume-cache
|
||||||
|
settings:
|
||||||
|
rebuild: true
|
||||||
|
mount:
|
||||||
|
- ./deps
|
||||||
|
- ./_build
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
path: /cache
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
host:
|
||||||
|
path: /tmp/drone_cache
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
name: build-and-publish
|
name: build-and-publish
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- main
|
- main
|
||||||
- ci-build-container # TODO: Remove after testing
|
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
- tag
|
- tag
|
||||||
|
|
@ -25,7 +114,7 @@ steps:
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- tag
|
- tag
|
||||||
|
|
||||||
- name: build-and-publish-container-branch
|
- name: build-and-publish-container-branch
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
settings:
|
settings:
|
||||||
|
|
@ -42,6 +131,9 @@ steps:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- check
|
||||||
|
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue