forked from filebrowser/filebrowser
-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yml
92 lines (92 loc) · 2.07 KB
/
config.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
version: 2
jobs:
lint:
docker:
- image: golangci/golangci-lint:v1.16
steps:
- checkout
- run: golangci-lint run -v -D errcheck
build-node:
docker:
- image: circleci/node
steps:
- checkout
- run:
name: "Pull Submodules"
command: |
git submodule init
git submodule update --remote
- run:
name: "Build"
command: ./wizard.sh -a
- run:
name: "Cleanup"
command: rm -rf frontend/node_modules
- persist_to_workspace:
root: .
paths:
- '*'
build-go:
docker:
- image: circleci/golang
steps:
- attach_workspace:
at: '~/project'
- run:
name: "Compile"
command: ./wizard.sh -c
- run:
name: "Cleanup"
command: rm -rf frontend/build
- persist_to_workspace:
root: .
paths:
- '*'
docker-latest:
docker:
- image: docker
steps:
- attach_workspace:
at: '~/project'
- setup_remote_docker
- run: docker build -t filebrowser/filebrowser .
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- run: docker push filebrowser/filebrowser
- run: docker logout
- persist_to_workspace:
root: .
paths:
- '*'
release:
docker:
- image: circleci/golang:1.10
steps:
- attach_workspace:
at: '~/project'
- run: curl -sL https://git.io/goreleaser | bash
workflows:
version: 2
build-workflow:
jobs:
- lint
- build-node
- build-go:
requires:
- build-node
- lint
- docker-latest:
context: deploy
requires:
- build-go
filters:
branches:
only: master
- release:
context: deploy
requires:
- build-go
filters:
branches:
ignore: /.*/
tags:
only: /v[0-9]+(\.[0-9]+)*(-.*)*/