Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/.circleci/config.yml

144 lines
3.2 KiB

version: 2
workflows:
version: 2
test-build-deploy:
jobs:
- test
- build
- lint
- publish:
requires:
- test
- build
- lint
filters:
branches:
only: master
- publish-master:
requires:
- test
- build
- lint
filters:
branches:
only: master
- deploy:
requires:
- publish
filters:
branches:
only: master
# https://circleci.com/blog/circleci-hacks-reuse-yaml-in-your-circleci-config-with-yaml/
defaults: &defaults
docker:
- image: grafana/loki-build-image:rename-49e21d5-WIP
working_directory: /go/src/github.com/grafana/loki
jobs:
test:
<<: *defaults
steps:
- checkout
- run:
name: Run Unit Tests
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false test
lint:
<<: *defaults
steps:
- checkout
- run:
name: Lint
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false lint
- run:
name: Check Generated Fies
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false check-generated-files
build:
<<: *defaults
steps:
- checkout
- setup_remote_docker
- run:
name: Build Images
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false
- run:
name: Save Images
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false save-images
- save_cache:
key: v1-loki-{{ .Branch }}-{{ .Revision }}
paths:
- images/
publish:
<<: *defaults
steps:
- checkout
- setup_remote_docker
- restore_cache:
key: v1-loki-{{ .Branch }}-{{ .Revision }}
- run:
name: Load Images
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false load-images
- run:
name: Push Images
command: |
if [ -n "$DOCKER_USER" ]; then
docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" &&
make push-images
fi
publish-master:
<<: *defaults
steps:
- checkout
- setup_remote_docker
- restore_cache:
key: v1-loki-{{ .Branch }}-{{ .Revision }}
- run:
name: Load Images
command: |
touch loki-build-image/.uptodate &&
make BUILD_IN_CONTAINER=false load-images
- run:
name: Push Images
command: |
docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" &&
make push-master
deploy:
<<: *defaults
steps:
- checkout
- run: |
curl -s --header "Content-Type: application/json" \
--data "{\"build_parameters\": {\"CIRCLE_JOB\": \"deploy\", \"IMAGE_NAMES\": \"$(make images)\"}}" \
--request POST \
https://circleci.com/api/v1.1/project/github/raintank/deployment_tools/tree/master?circle-token=$CIRCLE_TOKEN