Browse Source

.circleci/config.yml: use prometheus/prometheus orb (#5760)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>
pull/5705/head
Simon Pasquier 5 years ago committed by GitHub
parent
commit
bb3141e9f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 104
      .circleci/config.yml

104
.circleci/config.yml

@ -1,6 +1,9 @@
---
version: 2.1
orbs:
prometheus: prometheus/prometheus@0.1.0
executors:
# Whenever the Go version is updated here, .travis.yml and .promu.yml
# should also be updated.
@ -13,99 +16,17 @@ jobs:
executor: golang
steps:
- checkout
- run: make promu
- prometheus/setup_environment
- run:
command: make check_license style unused lint build check_assets
environment:
# Run garbage collection more aggresively to avoid getting OOMed during the lint phase.
GOGC: "20"
- run:
command: |
curl -s -L https://github.com/protocolbuffers/protobuf/releases/download/v3.5.1/protoc-3.5.1-linux-x86_64.zip > /tmp/protoc.zip
unzip -d /tmp /tmp/protoc.zip
chmod +x /tmp/bin/protoc
echo 'export PATH=/tmp/bin:$PATH' >> $BASH_ENV
source $BASH_ENV
make proto
- run: git diff --exit-code
- store_artifacts:
path: prometheus
destination: /build/prometheus
- store_artifacts:
path: promtool
destination: /build/promtool
- run: rm -v prometheus promtool
build:
machine: true
steps:
- checkout
- run: make promu
- run: promu crossbuild -v
- persist_to_workspace:
root: .
paths:
- .build
- store_artifacts:
path: .build
destination: /build
docker_hub_master:
executor: golang
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: docker run --privileged linuxkit/binfmt:v0.6
- attach_workspace:
at: .
- run: make docker
- run: make docker DOCKER_REPO=quay.io/prometheus
- run: docker images
- run: docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
- run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io
- run: make docker-publish
- run: make docker-publish DOCKER_REPO=quay.io/prometheus
- run: make docker-manifest
- run: make docker-manifest DOCKER_REPO=quay.io/prometheus
docker_hub_release_tags:
executor: golang
steps:
- checkout
- setup_remote_docker:
version: 18.06.0-ce
- run: docker run --privileged linuxkit/binfmt:v0.6
- attach_workspace:
at: .
- run: make promu
- run: promu crossbuild tarballs
- run: promu checksum .tarballs
- run: promu release .tarballs
- store_artifacts:
path: .tarballs
destination: releases
- run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG
- run: make docker DOCKER_IMAGE_TAG=$CIRCLE_TAG DOCKER_REPO=quay.io/prometheus
- run: docker login -u $DOCKER_LOGIN -p $DOCKER_PASSWORD
- run: docker login -u $QUAY_LOGIN -p $QUAY_PASSWORD quay.io
- run: make docker-publish DOCKER_IMAGE_TAG="$CIRCLE_TAG"
- run: make docker-publish DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
- run: make docker-manifest DOCKER_IMAGE_TAG="$CIRCLE_TAG"
- run: make docker-manifest DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
- run: |
if [[ "$CIRCLE_TAG" =~ ^v[0-9]+(\.[0-9]+){2}$ ]]; then
make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG"
make docker-tag-latest DOCKER_IMAGE_TAG="$CIRCLE_TAG" DOCKER_REPO=quay.io/prometheus
make docker-publish DOCKER_IMAGE_TAG="latest"
make docker-publish DOCKER_IMAGE_TAG="latest" DOCKER_REPO=quay.io/prometheus
make docker-manifest DOCKER_IMAGE_TAG="latest"
make docker-manifest DOCKER_IMAGE_TAG="latest" DOCKER_REPO=quay.io/prometheus
fi
- prometheus/check_proto
- prometheus/store_artifact:
file: prometheus
- prometheus/store_artifact:
file: promtool
makefile_sync:
executor: golang
@ -121,11 +42,12 @@ workflows:
filters:
tags:
only: /.*/
- build:
- prometheus/build:
name: build
filters:
tags:
only: /.*/
- docker_hub_master:
- prometheus/publish_master:
context: org-context
requires:
- test
@ -133,7 +55,7 @@ workflows:
filters:
branches:
only: master
- docker_hub_release_tags:
- prometheus/publish_release:
context: org-context
requires:
- test

Loading…
Cancel
Save