arkisto/.drone.yml

96 lines
1.7 KiB
YAML
Raw Normal View History

2022-08-18 21:47:02 +02:00
---
kind: pipeline
type: docker
2022-08-19 11:15:39 +02:00
name: "stage:build"
2022-08-18 21:47:02 +02:00
2022-08-19 14:30:24 +02:00
trigger:
event:
- push
- pull_request
2022-08-18 21:47:02 +02:00
services:
2022-08-19 15:07:22 +02:00
- name: service:docker
2022-08-18 21:47:02 +02:00
image: docker:dind
privileged: true
volumes:
- name: dockersock
path: /var/run
2022-08-19 14:09:31 +02:00
volumes:
- name: crystal_cache
temp: {}
- name: docker_cache
temp: {}
- name: dockersock
temp: {}
2022-08-18 21:47:02 +02:00
steps:
2022-08-19 11:14:48 +02:00
- name: "build:prepare"
2022-08-19 11:19:59 +02:00
image: busybox
2022-08-19 11:14:48 +02:00
commands:
# Debug
- pwd
2022-08-19 11:36:24 +02:00
- mkdir -p _artifacts _cache
2022-08-19 11:14:48 +02:00
2022-08-18 21:47:02 +02:00
- name: "build:executable"
image: crystallang/crystal:1.5.0
volumes:
2022-08-19 11:36:24 +02:00
- name: crystal_cache
path: /drone/src/_cache
2022-08-18 21:47:02 +02:00
commands:
# Debug
- pwd
- crystal version
- shards version
# Build
- make build
2022-08-19 11:14:48 +02:00
- name: "build:docker-image"
2022-08-18 21:47:02 +02:00
image: docker:20.10.16-dind
volumes:
- name: dockersock
path: /var/run
2022-08-19 11:36:24 +02:00
- name: docker_cache
path: /drone/src/_cache
2022-08-18 21:47:02 +02:00
commands:
2022-08-19 11:36:24 +02:00
# Prepare
- apk add make
2022-08-19 11:36:24 +02:00
- test -f _cache/docker-image.tar && docker load < _cache/docker-image.tar
# Build
2022-08-18 21:47:02 +02:00
- make docker-build
- make docker-save > _artifacts/docker-image.tar
2022-08-19 11:36:24 +02:00
- make docker-save > _cache/docker-image.tar
2022-08-18 21:47:02 +02:00
- name: "publish:docker-image"
image: docker:20.10.16-dind
volumes:
- name: dockersock
path: /var/run
commands:
2022-08-19 14:09:31 +02:00
# Prepare
2022-08-19 11:14:48 +02:00
- test -f _artifacts/docker-image.tar
- apk add make
2022-08-18 21:47:02 +02:00
- make docker-load < _artifacts/docker-image.tar
2022-08-19 14:09:31 +02:00
# Build
2022-08-18 21:47:02 +02:00
- make docker-push
2022-08-19 14:30:24 +02:00
---
kind: pipeline
type: docker
name: "stage:deploy"
trigger:
event:
- promote
target:
- production
steps:
- name: "deploy:prepare"
image: busybox
commands:
# Debug
- echo "No op"
#