--- 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: - /var/emacs - name: generate emacs image: silex/emacs:master-alpine commands: - mkdir -p /var/emacs - apk update && apk add git - emacs --init-directory=/var/emacs --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: - /var/emacs 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 web 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: deploy gemini image: appleboy/drone-scp settings: host: from_secret: ssh_host target: from_secret: ssh_target_gemini source: gemini/* strip_components: 1 username: from_secret: ssh_username password: from_secret: ssh_password port: from_secret: ssh_port depends_on: - "generate emacs" 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 web stable" - "deploy gemini" when: branch: - main event: exclude: - pull_request - name: deploy web 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 web devel" when: branch: - devel event: exclude: - pull_request