mentorenwahl/.drone.yml
Dominic Grimm 43412a328b
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Update docs step
2022-02-23 18:18:53 +01:00

189 lines
3.6 KiB
YAML

---
kind: pipeline
type: docker
name: default
steps:
- name: shellcheck
image: koalaman/shellcheck-alpine
commands:
- cd scripts
- find -name "*.sh" | xargs shellcheck
- name: docs
image: michaelfbryan/mdbook-docker-image
volumes:
- name: cache
path: /cache
commands:
- cd docs
- mdbook build
- name: rebuild-cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./docs/book
depends_on:
- docs
volumes:
- name: cache
host:
path: /tmp/cache
---
kind: pipeline
type: docker
name: backend
steps:
- name: ameba
image: veelenga/ameba
commands:
- cd docker/backend
- ameba micrate/src src
- name: pgsanity
image: boechat107/pgsanity
commands:
- pgsanity docker/backend/db/**/*.sql
- name: deps
image: crystallang/crystal:1.3-alpine
volumes:
- name: lib
path: /drone/src/docker/backend/lib
- name: cache
path: /cache
commands:
- cd docker/backend
- shards install
- name: docs
image: crystallang/crystal:1.3-alpine
volumes:
- name: lib
path: /drone/src/docker/backend/lib
commands:
- cd docker/backend
- make docs
depends_on:
- ameba
- deps
- name: rebuild-cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./docker/backend/docs
depends_on:
- docs
- name: build
image: tmaier/docker-compose
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- docker-compose build --build-arg BUILD_ENV=development backend
depends_on:
- ameba
- pgsanity
volumes:
- name: lib
temp: {}
- name: cache
host:
path: /tmp/cache
- name: dockersock
host:
path: /var/run/docker.sock
---
kind: pipeline
type: docker
name: frontend
steps:
- name: build
image: tmaier/docker-compose
volumes:
- name: dockersock
path: /var/run/docker.sock
commands:
- docker-compose build --build-arg BUILD_ENV=development frontend
volumes:
- name: dockersock
host:
path: /var/run/docker.sock
---
kind: pipeline
type: docker
name: deploy-docs
steps:
- name: restore-cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./docs/book
- ./docker/backend/docs
- name: prepare-pages
image: bitnami/git
volumes:
- name: cache
path: /cache
- name: pages
path: /tmp/pages
commands:
- git clone --depth 1 --branch pages https://git.dergrimm.net/mentorenwahl/mentorenwahl.git /tmp/pages
- rm -rf /tmp/pages/*
- cp -r ./docs/book/* /tmp/pages
- mkdir -p /tmp/pages/_api/backend
- cp -r ./docker/backend/docs/* /tmp/pages/_api/backend
depends_on:
- restore-cache
- name: deploy-pages
image: appleboy/drone-git-push
volumes:
- name: pages
path: /tmp/pages
settings:
remote:
from_secret: deploy_remote
force: false
commit: true
commit_message: "[CI] Deploy pages"
branch: pages
local_ref: pages
path: /tmp/pages
depends_on:
- prepare-pages
volumes:
- name: cache
host:
path: /tmp/cache
- name: pages
temp: {}
depends_on:
- default
- backend
- frontend
trigger:
branch:
- main
event:
- push