98 lines
2.9 KiB
YAML
98 lines
2.9 KiB
YAML
version: 2
|
|
jobs:
|
|
jstest:
|
|
docker:
|
|
- image: circleci/golang:1.11-node-browsers
|
|
working_directory: /go/src/github.com/influxdata/platform
|
|
steps:
|
|
- checkout
|
|
|
|
# Run yarn install, using Circle's cache if applicable.
|
|
- restore_cache:
|
|
name: Restore Yarn package cache
|
|
keys:
|
|
# Only cache on exact yarn.lock match, as in Circle's yarn example:
|
|
# https://circleci.com/docs/2.0/yarn/
|
|
- chronograf-yarn-packages-{{ checksum "chronograf/ui/yarn.lock" }}
|
|
- run: make node_modules
|
|
- save_cache:
|
|
name: Save Yarn package cache
|
|
key: chronograf-yarn-packages-{{ checksum "chronograf/ui/yarn.lock" }}
|
|
paths:
|
|
- ~/.cache/yarn
|
|
|
|
- run: make test-js
|
|
- run: make chronograf_lint
|
|
|
|
gotest:
|
|
docker:
|
|
- image: circleci/golang:1.11
|
|
environment:
|
|
GOCACHE: /tmp/go-cache
|
|
GOFLAGs: "-mod=readonly"
|
|
working_directory: /go/src/github.com/influxdata/platform
|
|
steps:
|
|
- checkout
|
|
|
|
# Populate GOCACHE.
|
|
- restore_cache:
|
|
name: Restoring GOCACHE
|
|
keys:
|
|
- platform-gocache-{{ .Branch }}-{{ .Revision }} # Matches when retrying a single run.
|
|
- platform-gocache-{{ .Branch }}- # Matches a new commit on an existing branch.
|
|
- platform-gocache- # Matches a new branch.
|
|
- run: make test-go # This uses the test cache so it may succeed or fail quickly.
|
|
- run: make vet
|
|
- run: make test-go-race # This doesn't use the test cache, and will not complete quickly.
|
|
# TODO add these checks to the Makefile
|
|
# - run: go get -v -t -d ./...
|
|
# - run: go get honnef.co/go/tools/cmd/megacheck
|
|
# - run: megacheck ./...
|
|
- save_cache:
|
|
name: Saving GOCACHE
|
|
key: platform-gocache-{{ .Branch }}-{{ .Revision }}
|
|
paths:
|
|
- /tmp/go-cache
|
|
when: always
|
|
|
|
deploy:
|
|
docker:
|
|
- image: circleci/golang:1.11-node-browsers
|
|
environment:
|
|
GOCACHE: /tmp/go-cache
|
|
GOFLAGs: "-mod=readonly"
|
|
working_directory: /go/src/github.com/influxdata/platform
|
|
steps:
|
|
- checkout
|
|
|
|
# Speed up `make nightly` by restoring caches from previous runs.
|
|
- restore_cache:
|
|
name: Restoring GOCACHE
|
|
keys:
|
|
- platform-gocache- # Just match the most recent Go cache.
|
|
- restore_cache:
|
|
name: Restore Yarn package cache
|
|
keys:
|
|
- chronograf-yarn-packages-{{ checksum "chronograf/ui/yarn.lock" }}
|
|
|
|
- setup_remote_docker
|
|
- run: |
|
|
docker login -u "$QUAY_USER" -p $QUAY_PASS quay.io
|
|
make nightly
|
|
|
|
|
|
workflows:
|
|
version: 2
|
|
build-and-deploy:
|
|
jobs:
|
|
- gotest
|
|
- jstest
|
|
- deploy:
|
|
requires:
|
|
- gotest
|
|
- jstest
|
|
filters:
|
|
branches:
|
|
only: master
|
|
|