2019-05-11 21:40:11 +00:00
|
|
|
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
|
2019-05-11 21:56:25 +00:00
|
|
|
- run:
|
|
|
|
name: "Cleanup"
|
|
|
|
command: rm -rf frontend/node_modules
|
2019-05-11 21:40:11 +00:00
|
|
|
- persist_to_workspace:
|
|
|
|
root: .
|
|
|
|
paths:
|
|
|
|
- '*'
|
|
|
|
build-go:
|
|
|
|
docker:
|
2019-05-11 22:50:17 +00:00
|
|
|
- image: circleci/golang:1.12
|
2019-05-11 21:40:11 +00:00
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: '~/project'
|
|
|
|
- run:
|
|
|
|
name: "Compile"
|
|
|
|
command: ./wizard.sh -c
|
2019-05-11 21:56:25 +00:00
|
|
|
- run:
|
|
|
|
name: "Cleanup"
|
2019-05-11 22:50:17 +00:00
|
|
|
command: |
|
|
|
|
rm -rf frontend/build
|
|
|
|
git checkout -- go.sum # TODO: why is it being changed?
|
2019-05-11 21:40:11 +00:00
|
|
|
- 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:
|
2019-05-11 22:50:17 +00:00
|
|
|
- image: circleci/golang:1.12
|
2019-05-11 21:40:11 +00:00
|
|
|
steps:
|
|
|
|
- attach_workspace:
|
|
|
|
at: '~/project'
|
2019-05-11 22:50:17 +00:00
|
|
|
- setup_remote_docker
|
|
|
|
- run: docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
|
2019-05-11 21:40:11 +00:00
|
|
|
- run: curl -sL https://git.io/goreleaser | bash
|
2019-05-11 22:50:17 +00:00
|
|
|
- run: docker logout
|
2019-05-11 21:40:11 +00:00
|
|
|
workflows:
|
|
|
|
version: 2
|
|
|
|
build-workflow:
|
|
|
|
jobs:
|
2019-05-11 22:50:17 +00:00
|
|
|
- lint:
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
|
|
|
- build-node:
|
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
2019-05-11 21:40:11 +00:00
|
|
|
- build-go:
|
2019-05-11 22:50:17 +00:00
|
|
|
filters:
|
|
|
|
tags:
|
|
|
|
only: /.*/
|
2019-05-11 21:40:11 +00:00
|
|
|
requires:
|
|
|
|
- build-node
|
|
|
|
- lint
|
2019-05-11 22:49:16 +00:00
|
|
|
- release:
|
2019-05-11 21:40:11 +00:00
|
|
|
context: deploy
|
|
|
|
requires:
|
|
|
|
- build-go
|
|
|
|
filters:
|
2019-05-11 22:50:17 +00:00
|
|
|
tags:
|
|
|
|
only: /^v.*/
|
2019-05-11 21:40:11 +00:00
|
|
|
branches:
|
2019-05-11 22:49:16 +00:00
|
|
|
ignore: /.*/
|
|
|
|
- docker-latest:
|
2019-05-11 21:40:11 +00:00
|
|
|
context: deploy
|
|
|
|
requires:
|
|
|
|
- build-go
|
|
|
|
filters:
|
|
|
|
branches:
|
2019-05-11 22:49:16 +00:00
|
|
|
only: master
|
2019-05-11 21:40:11 +00:00
|
|
|
tags:
|
2019-05-11 22:50:17 +00:00
|
|
|
ignore: /.*/
|