fej/.woodpecker.yml

109 lines
2.6 KiB
YAML
Raw Normal View History

2021-04-24 09:33:42 +02:00
pipeline:
2021-05-10 21:52:24 +02:00
# Download the cache from S3
restore-cache:
2021-05-10 21:54:56 +02:00
image: plugins/s3-cache
2021-04-29 11:43:53 +02:00
pull: true
2021-05-11 20:43:51 +02:00
endpoint: https://s3.roosens.me
2021-05-11 21:19:18 +02:00
root: build-cache/
2021-05-10 21:52:24 +02:00
restore: true
2021-05-11 21:38:19 +02:00
secrets: [ cache_s3_access_key, cache_s3_secret_key ]
2021-05-10 21:52:24 +02:00
# =====BUILDING=====
build-frontend:
2021-05-01 21:24:16 +02:00
image: node:15-alpine3.13
pull: true
group: build
2021-04-24 09:33:42 +02:00
commands:
2021-05-01 21:29:17 +02:00
- cd web
- yarn install
- yarn run build
2021-05-01 21:24:16 +02:00
build-backend:
2021-05-01 21:40:46 +02:00
image: chewingbever/fej-builder:latest
pull: true
group: build
2021-05-01 21:40:46 +02:00
commands:
- cargo build
2021-05-01 21:40:46 +02:00
2021-05-10 21:52:24 +02:00
# =====LINTING=====
lint-frontend:
2021-05-10 21:52:24 +02:00
image: node:15-alpine3.13
group: lint
2021-05-10 21:52:24 +02:00
commands:
- cd web
- yarn run lint
2021-05-10 21:52:24 +02:00
lint-backend:
2021-05-10 21:52:24 +02:00
image: chewingbever/fej-builder:latest
group: lint
2021-05-10 21:52:24 +02:00
commands:
- cargo fmt -- --check
2021-05-11 21:58:49 +02:00
# This is run here because it requires compilation
- cargo clippy -- -D warnings
2021-05-10 21:52:24 +02:00
# =====TESTING=====
test-backend:
image: chewingbever/fej-builder:latest
commands:
- cargo test
2021-05-10 22:15:05 +02:00
# =====REBUILD & FLUSH CACHE=====
2021-05-10 21:52:24 +02:00
rebuild-cache:
2021-05-10 21:54:56 +02:00
image: plugins/s3-cache
2021-05-10 21:52:24 +02:00
2021-05-11 20:43:51 +02:00
endpoint: https://s3.roosens.me
2021-05-11 21:19:18 +02:00
root: build-cache/
2021-05-10 21:52:24 +02:00
rebuild: true
mount:
- target
- web/node_modules
2021-05-11 21:38:19 +02:00
secrets: [ cache_s3_access_key, cache_s3_secret_key ]
2021-05-10 21:52:24 +02:00
# Push the cache, even on failure
when:
status: [ success, failure ]
2021-05-10 21:52:24 +02:00
2021-05-10 22:15:05 +02:00
flush-cache:
image: plugins/s3-cache
2021-05-11 21:19:18 +02:00
endpoint: https://s3.roosens.me
root: build-cache/
2021-05-10 22:15:05 +02:00
flush: true
# Delete cache older than 30 days (might lower this)
flush_age: 30
2021-05-11 21:38:19 +02:00
secrets: [ cache_s3_access_key, cache_s3_secret_key ]
2021-05-10 22:15:05 +02:00
# Push the cache, even on failure
when:
status: [ success, failure ]
2021-05-10 21:52:24 +02:00
2021-05-01 22:49:05 +02:00
# publish-builder:
# image: plugins/docker
# repo: chewingbever/fej-builder
# dockerfile: docker/Dockerfile.builder
# tag: [ latest ]
# secrets: [ docker_username, docker_password ]
# when:
# branch: develop
# event: push
2021-05-01 22:09:23 +02:00
2021-05-01 21:24:16 +02:00
# Backend cicd jobs are disabled until we can figure out a way to cache stuff
# test-backend:
# image: chewingbever/fej-builder:latest
# # Always update the builder image
# pull: true
# commands:
# - cargo test
2021-04-24 12:44:53 +02:00
2021-04-29 11:43:53 +02:00
# TODO build dev & rel image, deploy these images
2021-05-01 21:24:16 +02:00
# branches: [ master, develop ]