mlpcardgame/.drone.yml

188 lines
3.6 KiB
YAML

kind: pipeline
name: default
steps:
- name: restore-cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
restore: true
mount:
- ./node_modules
- name: dependencies
image: node
commands:
- yarn
depends_on:
- restore-cache
- name: lint
image: node
commands:
- yarn lint
depends_on:
- dependencies
- name: build_versioned
image: node
commands:
- yarn build
environment:
SUBPATH: /${DRONE_COMMIT_SHA:0:8}
when:
event:
- push
depends_on:
- dependencies
- name: build_pr
image: node
commands:
- yarn build
environment:
SUBPATH: /pr-${DRONE_PULL_REQUEST}
when:
event:
- pull_request
depends_on:
- dependencies
- name: build_master
image: node
commands:
- yarn build
environment:
SUBPATH: /latest
when:
event:
- push
branch:
- master
depends_on:
- dependencies
- name: upload_build_versioned
image: plugins/s3
settings:
bucket: mcg
access_key:
from_secret: minio_access
secret_key:
from_secret: minio_secret
source: dist/**/*
target: /${DRONE_COMMIT_SHA:0:8}/
path_style: true
endpoint: https://artifacts.fromouter.space
when:
event:
- push
depends_on:
- build_versioned
- name: upload_build_pr
image: plugins/s3
settings:
bucket: mcg
access_key:
from_secret: minio_access
secret_key:
from_secret: minio_secret
source: dist/**/*
target: /pr-${DRONE_PULL_REQUEST}/
path_style: true
endpoint: https://artifacts.fromouter.space
when:
event:
- pull_request
depends_on:
- build_pr
- name: upload_build_master
image: plugins/s3
settings:
bucket: mcg
access_key:
from_secret: minio_access
secret_key:
from_secret: minio_secret
source: dist/**/*
target: /latest/
path_style: true
endpoint: https://artifacts.fromouter.space
when:
event:
- push
branch:
- master
depends_on:
- build_master
- name: test
image: node
commands:
- yarn test:unit --runInBand
depends_on:
- dependencies
- name: coverage
image: node
commands:
- yarn test:unit --coverage --runInBand
depends_on:
- test # Must run after test otherwise SQLite will get mad
- name: upload_coverage
image: plugins/s3
settings:
bucket: mcg
access_key:
from_secret: minio_access
secret_key:
from_secret: minio_secret
source: coverage/lcov-report/**/*
target: /${DRONE_COMMIT_SHA:0:8}/
path_style: true
endpoint: https://artifacts.fromouter.space
when:
event:
- push
depends_on:
- coverage
- name: upload_coverage_pr
image: plugins/s3
settings:
bucket: mcg
access_key:
from_secret: minio_access
secret_key:
from_secret: minio_secret
source: coverage/lcov-report/**/*
target: /pr-${DRONE_PULL_REQUEST}/
path_style: true
endpoint: https://artifacts.fromouter.space
when:
event:
- pull_request
depends_on:
- coverage
- name: rebuild-cache
image: drillster/drone-volume-cache
volumes:
- name: cache
path: /cache
settings:
rebuild: true
mount:
- ./node_modules
depends_on:
- dependencies
volumes:
- name: cache
host:
path: /data/dcache/mcg