phundrak.com/.drone.yml

153 lines
2.9 KiB
YAML

---
kind: pipeline
type: docker
name: CD
steps:
- name: restore cache node
image: drillster/drone-volume-cache
volumes:
- name: main-website-node
path: /cache/phundrak.com/node
settings:
restore: true
mount:
- ./node_modules
- name: restore cache emacs
image: drillster/drone-volume-cache
volumes:
- name: main-website-emacs
path: /cache/phundrak.com/emacs
settings:
restore: true
mount:
- /root/.emacs.d
- name: generate emacs
image: silex/emacs:master-alpine
commands:
- apk update && apk add git
- emacs -Q --script export.el
depends_on:
- "restore cache emacs"
- name: generate node
image: node:19-alpine
commands:
- yarn install
- yarn build
depends_on:
- "restore cache node"
- "generate emacs"
- name: rebuild cache emacs
image: drillster/drone-volume-cache
volumes:
- name: conlang-emacs
path: /cache/conlang/emacs
settings:
rebuild: true
mount:
- /root/.emacs.d
depends_on:
- "generate emacs"
- name: rebuild cache node
image: drillster/drone-volume-cache
volumes:
- name: main-website-node
path: /cache/phundrak.com/node
settings:
rebuild: true
mount:
- ./node_modules
depends_on:
- "generate node"
- name: deploy stable
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
target:
from_secret: ssh_target
source: content/.vuepress/dist/*
strip_components: 3
username:
from_secret: ssh_username
password:
from_secret: ssh_password
port:
from_secret: ssh_port
depends_on:
- "generate node"
when:
branch:
- main
event:
exclude:
- pull_request
- name: purge cache stable
image: jetrails/drone-cloudflare-caching
settings:
api_token:
from_secret: cloudflare_cache_api
zone_identifier:
from_secret: phundrak_com_zone_id
action: purge_files
list:
- https://beta.phundrak.com
depends_on:
- "deploy stable"
when:
branch:
- main
event:
exclude:
- pull_request
- name: deploy devel
image: appleboy/drone-scp
settings:
host:
from_secret: ssh_host
target:
from_secret: ssh_target_devel
source: content/.vuepress/dist/*
strip_components: 3
username:
from_secret: ssh_username
password:
from_secret: ssh_password
port:
from_secret: ssh_port
depends_on:
- "generate node"
when:
branch:
- devel
event:
exclude:
- pull_request
- name: purge cache devel
image: jetrails/drone-cloudflare-caching
settings:
api_token:
from_secret: cloudflare_cache_api
zone_identifier:
from_secret: phundrak_com_zone_id
action: purge_files
list:
- https://alpha.phundrak.com
depends_on:
- "deploy devel"
when:
branch:
- devel
event:
exclude:
- pull_request