github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/.circleci/config.yml (about) 1 version: 2 2 3 .tags: &tags # tags need to be explicitly defined (whitelist) 4 tags: { only: "/.*/" } 5 6 .only-tags: &only-tags 7 <<: *tags 8 branches: { ignore: "/.*/" } 9 10 .tag-or-main: &tag-or-main 11 branches: { only: main } 12 <<: *tags 13 14 .no-main: &no-main # contrary to tags, the branches must be excluded 15 branches: { ignore: main } 16 17 workflows: 18 version: 2 19 default: 20 jobs: 21 # publish jobs depend on this as well, 22 # thus tags need to be allowed for these 23 - test: { filters: { <<: *tags } } 24 25 - build/promtail-windows: 26 requires: [test] 27 28 - build/docker-driver: 29 requires: [test] 30 filters: { <<: *no-main } 31 - publish/docker-driver: 32 requires: [test] 33 filters: { <<: *tag-or-main } 34 35 36 # https://circleci.com/blog/circleci-hacks-reuse-yaml-in-your-circleci-config-with-yaml/ 37 .defaults: &defaults 38 docker: 39 - image: grafana/loki-build-image:0.19.0 40 working_directory: /src/loki 41 42 jobs: 43 test: 44 <<: *defaults 45 steps: 46 - checkout 47 48 # Promtail 49 build/promtail-windows: 50 <<: *defaults 51 steps: 52 - checkout 53 - setup_remote_docker 54 - run: 55 name: build 56 command: make GOOS=windows GOGC=10 promtail 57 58 # Docker driver 59 build/docker-driver: 60 <<: *defaults 61 steps: 62 - checkout 63 - setup_remote_docker 64 - run: 65 name: docker-driver 66 command: make docker-driver 67 68 publish/docker-driver: 69 <<: *defaults 70 steps: 71 - checkout 72 - setup_remote_docker 73 - run: 74 name: login 75 command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS" 76 - run: 77 name: docker-driver 78 command: make docker-driver-push 79