84 lines
1.5 KiB
YAML
84 lines
1.5 KiB
YAML
kind: pipeline
|
|
type: docker
|
|
name: memex
|
|
|
|
steps:
|
|
- name: restore-cache
|
|
image: drillster/drone-volume-cache
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
settings:
|
|
restore: true
|
|
mount:
|
|
- _build
|
|
- deps
|
|
- assets/node_modules/
|
|
|
|
- name: test
|
|
image: bitwalker/alpine-elixir-phoenix:1.13
|
|
environment:
|
|
TEST_DATABASE_URL: ecto://postgres:postgres@database/memex_test
|
|
HOST: testing.example.tld
|
|
commands:
|
|
- mix local.rebar --force
|
|
- mix local.hex --force
|
|
- mix deps.get
|
|
- npm install --prefix assets
|
|
- mix test
|
|
|
|
- name: build and publish stable
|
|
image: plugins/docker
|
|
settings:
|
|
repo: shibaobun/memex
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
tags: latest
|
|
when:
|
|
branch:
|
|
- stable
|
|
|
|
- name: build and publish tagged version
|
|
image: plugins/docker
|
|
settings:
|
|
repo: shibaobun/memex
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
tags:
|
|
- ${DRONE_TAG}
|
|
when:
|
|
event:
|
|
- tag
|
|
|
|
- name: rebuild-cache
|
|
image: drillster/drone-volume-cache
|
|
volumes:
|
|
- name: cache
|
|
path: /cache
|
|
settings:
|
|
rebuild: true
|
|
mount:
|
|
- _build
|
|
- deps
|
|
- assets/node_modules/
|
|
|
|
services:
|
|
- name: database
|
|
image: postgres:13
|
|
environment:
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres
|
|
POSTGRES_DB: postgres
|
|
|
|
volumes:
|
|
- name: cache
|
|
host:
|
|
path: /tmp/drone-cache
|
|
- name: docker_sock
|
|
host:
|
|
path: /var/run/docker.sock
|