71 lines
1.4 KiB
YAML
71 lines
1.4 KiB
YAML
version: 2.1
|
|
references:
|
|
base_container: &base_container
|
|
docker:
|
|
- image: filebrowser/builder:v1.1.0
|
|
jobs:
|
|
lint:
|
|
<<: *base_container
|
|
steps:
|
|
- checkout
|
|
- run: make lint
|
|
test:
|
|
<<: *base_container
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: "Test"
|
|
command: make test
|
|
build:
|
|
<<: *base_container
|
|
steps:
|
|
- checkout
|
|
- run:
|
|
name: "Build"
|
|
command: make build
|
|
- run:
|
|
name: "Cleanup"
|
|
command: |
|
|
rm -rf frontend/node_modules
|
|
rm -rf bin/
|
|
- persist_to_workspace:
|
|
root: .
|
|
paths:
|
|
- '*'
|
|
release:
|
|
<<: *base_container
|
|
steps:
|
|
- attach_workspace:
|
|
at: '~/project'
|
|
- setup_remote_docker
|
|
- run: echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin
|
|
- run: curl -sL https://git.io/goreleaser | bash
|
|
- run: docker logout
|
|
workflows:
|
|
version: 2
|
|
build-workflow:
|
|
jobs:
|
|
- lint:
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- test:
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- build:
|
|
filters:
|
|
tags:
|
|
only: /.*/
|
|
- release:
|
|
context: deploy
|
|
requires:
|
|
- build
|
|
- test
|
|
- lint
|
|
filters:
|
|
tags:
|
|
only: /^v.*/
|
|
branches:
|
|
ignore: /.*/
|