Commit 9bcccd75 by Arve Knudsen Committed by GitHub

CircleCI: Implement new release pipeline (#22625)

* CircleCI: Adapt build-pipeline to implement also release pipeline
parent 6b61c65b
...@@ -4,7 +4,7 @@ aliases: ...@@ -4,7 +4,7 @@ aliases:
# Workflow filters # Workflow filters
- &filter-only-release - &filter-only-release
branches: branches:
ignore: /.*/ only: chore/test-release-pipeline
tags: tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/ only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
- &filter-not-release-or-master - &filter-not-release-or-master
...@@ -15,6 +15,13 @@ aliases: ...@@ -15,6 +15,13 @@ aliases:
- &filter-only-master - &filter-only-master
branches: branches:
only: master only: master
- &filter-master-or-release
branches:
only:
- master
- chore/test-release-pipeline
tags:
only: /^v[0-9]+(\.[0-9]+){2}(-.+|[^-.]*)$/
executors: executors:
grafana-build: grafana-build:
...@@ -72,8 +79,22 @@ jobs: ...@@ -72,8 +79,22 @@ jobs:
- run: - run:
name: Build Grafana backend name: Build Grafana backend
command: | command: |
/tmp/workspace/bin/grabpl build-backend --edition << parameters.edition >> \ if [[ -n $CIRCLE_TAG ]]; then
--variants << parameters.variant >> --build-id $CIRCLE_WORKFLOW_ID # A release build
/tmp/workspace/bin/grabpl build-backend --edition << parameters.edition >> \
--variants << parameters.variant >> $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/workspace/bin/grabpl build-backend --edition << parameters.edition >> \
--variants << parameters.variant >> --build-id $CIRCLE_WORKFLOW_ID
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/workspace/bin/grabpl build-backend --edition << parameters.edition >> \
--variants << parameters.variant >> v6.7.0-beta1
else
echo "Unknown branch trigger: $CIRCLE_BRANCH"
exit 1
fi
- run: - run:
name: Move artifacts name: Move artifacts
command: mkdir -p << parameters.edition >> && mv bin << parameters.edition >>/ command: mkdir -p << parameters.edition >> && mv bin << parameters.edition >>/
...@@ -279,7 +300,20 @@ jobs: ...@@ -279,7 +300,20 @@ jobs:
command: cp -r /tmp/workspace/oss/* . command: cp -r /tmp/workspace/oss/* .
- run: - run:
name: Package Grafana name: Package Grafana
command: /tmp/workspace/bin/grabpl package --edition oss --build-id $CIRCLE_WORKFLOW_ID command: |
if [[ -n $CIRCLE_TAG ]]; then
# A release build
/tmp/workspace/bin/grabpl package --edition oss $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/workspace/bin/grabpl package --edition oss --build-id $CIRCLE_WORKFLOW_ID
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/workspace/bin/grabpl package --edition oss v6.7.0-beta1
else
echo "Unknown branch trigger: $CIRCLE_BRANCH"
exit 1
fi
- run: - run:
name: Move artifacts name: Move artifacts
command: | command: |
...@@ -312,7 +346,20 @@ jobs: ...@@ -312,7 +346,20 @@ jobs:
command: cp -r /tmp/workspace/enterprise/* . command: cp -r /tmp/workspace/enterprise/* .
- run: - run:
name: Package Grafana name: Package Grafana
command: /tmp/workspace/bin/grabpl package --edition enterprise --build-id $CIRCLE_WORKFLOW_ID command: |
if [[ -n $CIRCLE_TAG ]]; then
# A release build
/tmp/workspace/bin/grabpl package --edition enterprise $CIRCLE_TAG
elif [[ $CIRCLE_BRANCH == "master" ]]; then
# A master build
/tmp/workspace/bin/grabpl package --edition enterprise --build-id $CIRCLE_WORKFLOW_ID
elif [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
# We're testing the release pipeline
/tmp/workspace/bin/grabpl package --edition enterprise v6.7.0-beta1
else
echo "Unknown branch trigger: $CIRCLE_BRANCH"
exit 1
fi
- run: - run:
name: Move artifacts name: Move artifacts
command: | command: |
...@@ -331,34 +378,11 @@ jobs: ...@@ -331,34 +378,11 @@ jobs:
command: ./scripts/ci-job-succeeded.sh command: ./scripts/ci-job-succeeded.sh
when: on_success when: on_success
publish-oss-master: publish-packages:
executor: grafana-publish description: "Publish packages"
steps: parameters:
- attach_workspace: edition:
at: /tmp/workspace type: string
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run:
name: GCP credentials
command: echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json
- run:
name: Sign in to GCP
command: /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json
- run:
name: Publish to GCP
command: |
/opt/google-cloud-sdk/bin/gsutil cp /tmp/workspace/oss/dist/* gs://$GCP_BUCKET_NAME/oss/master/
- run:
name: Publish to Grafana.com
command: |
cp -r /tmp/workspace/oss/dist .
rm -f dist/*latest*
cd dist
/tmp/workspace/scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -version "v$(cat grafana.version)" --nightly
publish-enterprise-master:
executor: grafana-publish executor: grafana-publish
steps: steps:
- attach_workspace: - attach_workspace:
...@@ -368,146 +392,17 @@ jobs: ...@@ -368,146 +392,17 @@ jobs:
name: CI job started name: CI job started
command: ./scripts/ci-job-started.sh command: ./scripts/ci-job-started.sh
- run: - run:
name: GCP credentials name: Publish packages
command: echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json
- run:
name: Sign in to GCP
command: /opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json
- run:
name: Publish to GCP
command: |
/opt/google-cloud-sdk/bin/gsutil cp /tmp/workspace/enterprise/dist/* gs://$GCP_BUCKET_NAME/enterprise/master/
- run:
name: Publish to Grafana.com
command: |
cp -r /tmp/workspace/enterprise/dist .
rm -f dist/*latest*
cd dist
/tmp/workspace/scripts/build/release_publisher/release_publisher -apikey ${GRAFANA_COM_API_KEY} -version "v$(cat grafana.version)" --nightly
docker-oss-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run:
name: Copy Grafana archives
command: |
cp /tmp/workspace/oss/dist/grafana-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz
cp /tmp/workspace/oss/dist/grafana-*.linux-armv7-musl.tar.gz packaging/docker/grafana-latest.linux-armv7-musl.tar.gz
cp /tmp/workspace/oss/dist/grafana-*.linux-arm64-musl.tar.gz packaging/docker/grafana-latest.linux-arm64-musl.tar.gz
- run:
name: Build Docker images
command: |
pushd packaging/docker && ./build.sh "master-${CIRCLE_SHA1}" && popd
mkdir docker
docker save -o docker/grafana-oss-amd64.tar "grafana/grafana:master-${CIRCLE_SHA1}"
docker save -o docker/grafana-oss-arm32v7.tar "grafana/grafana-arm32v7-linux:master-${CIRCLE_SHA1}"
docker save -o docker/grafana-oss-arm64v8.tar "grafana/grafana-arm64v8-linux:master-${CIRCLE_SHA1}"
# Publish dev image, since e2e tests need it
- run:
name: Publish development Docker image
command: |
docker tag "grafana/grafana:master-${CIRCLE_SHA1}" "grafana/grafana-dev:master-${CIRCLE_SHA1}"
docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
docker push "grafana/grafana-dev:master-${CIRCLE_SHA1}"
- persist_to_workspace:
root: .
paths:
- docker/grafana-oss*.tar
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
docker-ubuntu-oss-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run:
name: Copy Grafana archives
command: |
cp /tmp/workspace/oss/dist/grafana-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
cp /tmp/workspace/oss/dist/grafana-*.linux-armv7.tar.gz packaging/docker/grafana-latest.linux-armv7.tar.gz
cp /tmp/workspace/oss/dist/grafana-*.linux-arm64.tar.gz packaging/docker/grafana-latest.linux-arm64.tar.gz
- run:
name: Build Docker images
command: |
pushd packaging/docker && ./build.sh --ubuntu "master-${CIRCLE_SHA1}" && popd
mkdir docker
docker save -o docker/grafana-oss-amd64-ubuntu.tar "grafana/grafana:master-${CIRCLE_SHA1}-ubuntu"
docker save -o docker/grafana-oss-arm32v7-ubuntu.tar "grafana/grafana-arm32v7-linux:master-${CIRCLE_SHA1}-ubuntu"
docker save -o docker/grafana-oss-arm64v8-ubuntu.tar "grafana/grafana-arm64v8-linux:master-${CIRCLE_SHA1}-ubuntu"
- persist_to_workspace:
root: .
paths:
- docker/grafana-oss*.tar
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
docker-enterprise-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run:
name: Copy Grafana archives
command: |
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-armv7-musl.tar.gz packaging/docker/grafana-latest.linux-armv7-musl.tar.gz
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-arm64-musl.tar.gz packaging/docker/grafana-latest.linux-arm64-musl.tar.gz
- run:
name: Build Docker images
command: | command: |
export DOCKER_CLI_EXPERIMENTAL=enabled cp -r /tmp/workspace/<< parameters.edition >>/dist .
pushd packaging/docker if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
docker build -t "grafana/grafana-enterprise:master" --no-cache=true . # We're testing the release pipeline
docker build -t "grafana/grafana-enterprise-arm32v7-linux:master" \ /tmp/workspace/bin/grabpl publish-packages --edition << parameters.edition >> \
--build-arg BASE_IMAGE=arm32v7/alpine:3.10 \ --deb-db-bucket grafana-testing-aptly-db --deb-repo-bucket grafana-testing-repo --packages-bucket \
--build-arg GRAFANA_TGZ=grafana-latest.linux-armv7-musl.tar.gz \ grafana-downloads-test --rpm-repo-bucket grafana-testing-repo --simulate-release
--no-cache=true . else
docker build -t "grafana/grafana-enterprise-arm64v8-linux:master" \ /tmp/workspace/bin/grabpl publish-packages --edition << parameters.edition >>
--build-arg BASE_IMAGE=arm64v8/alpine:3.10 \ fi
--build-arg GRAFANA_TGZ=grafana-latest.linux-arm64-musl.tar.gz \
--no-cache=true .
popd
mkdir docker
docker save -o docker/grafana-enterprise-amd64.tar "grafana/grafana-enterprise:master"
docker save -o docker/grafana-enterprise-arm32v7.tar "grafana/grafana-enterprise-arm32v7-linux:master"
docker save -o docker/grafana-enterprise-arm64v8.tar "grafana/grafana-enterprise-arm64v8-linux:master"
- persist_to_workspace:
root: .
paths:
- docker/grafana-enterprise*.tar
- run: - run:
name: CI job failed name: CI job failed
command: ./scripts/ci-job-failed.sh command: ./scripts/ci-job-failed.sh
...@@ -517,7 +412,13 @@ jobs: ...@@ -517,7 +412,13 @@ jobs:
command: ./scripts/ci-job-succeeded.sh command: ./scripts/ci-job-succeeded.sh
when: on_success when: on_success
docker-ubuntu-enterprise-master: build-docker-images:
description: "Build Docker images"
parameters:
edition:
type: string
ubuntu:
type: boolean
executor: docker executor: docker
steps: steps:
- attach_workspace: - attach_workspace:
...@@ -527,173 +428,22 @@ jobs: ...@@ -527,173 +428,22 @@ jobs:
name: CI job started name: CI job started
command: ./scripts/ci-job-started.sh command: ./scripts/ci-job-started.sh
- run: docker info - run: docker info
# XXX: Is this necessary?
- run: docker run --privileged linuxkit/binfmt:v0.6 - run: docker run --privileged linuxkit/binfmt:v0.6
- run: - run:
name: Copy Grafana archives name: Copy Grafana archives
command: | command: |
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz cp -r /tmp/workspace/<< parameters.edition >>/dist .
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-armv7.tar.gz packaging/docker/grafana-latest.linux-armv7.tar.gz
cp /tmp/workspace/enterprise/dist/grafana-enterprise-*.linux-arm64.tar.gz packaging/docker/grafana-latest.linux-arm64.tar.gz
- run: - run:
name: Build Docker images name: Build Docker images
command: | command: |
export DOCKER_CLI_EXPERIMENTAL=enabled /tmp/workspace/bin/grabpl build-docker --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> $CIRCLE_WORKFLOW_ID
pushd packaging/docker mkdir -p << parameters.edition >>/docker
docker build -t "grafana/grafana-enterprise:master-ubuntu" --no-cache=true -f ubuntu.Dockerfile . mv docker/*.tar << parameters.edition >>/docker/
docker build -t "grafana/grafana-enterprise-arm32v7-linux:master-ubuntu" \
--build-arg BASE_IMAGE=arm32v7/ubuntu:19.10 \
--build-arg GRAFANA_TGZ=grafana-latest.linux-armv7.tar.gz \
--no-cache=true -f ubuntu.Dockerfile .
docker build -t "grafana/grafana-enterprise-arm64v8-linux:master-ubuntu" \
--build-arg BASE_IMAGE=arm64v8/ubuntu:19.10 \
--build-arg GRAFANA_TGZ=grafana-latest.linux-arm64.tar.gz \
--no-cache=true -f ubuntu.Dockerfile .
popd
mkdir docker
docker save -o docker/grafana-enterprise-amd64-ubuntu.tar "grafana/grafana-enterprise:master-ubuntu"
docker save -o docker/grafana-enterprise-arm32v7-ubuntu.tar "grafana/grafana-enterprise-arm32v7-linux:master-ubuntu"
docker save -o docker/grafana-enterprise-arm64v8-ubuntu.tar "grafana/grafana-enterprise-arm64v8-linux:master-ubuntu"
- persist_to_workspace: - persist_to_workspace:
root: . root: .
paths: paths:
- docker/grafana-enterprise*.tar - << parameters.edition >>/docker/*.tar
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
publish-docker-oss-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run:
name: Load Docker images
command: |
docker load -i /tmp/workspace/docker/grafana-oss-amd64.tar
docker load -i /tmp/workspace/docker/grafana-oss-arm32v7.tar
docker load -i /tmp/workspace/docker/grafana-oss-arm64v8.tar
- run:
name: Log into Docker Hub
command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
- run:
name: Publish Docker images
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker tag "grafana/grafana:master-${CIRCLE_SHA1}" "grafana/grafana:master"
docker push "grafana/grafana:master"
docker tag "grafana/grafana-arm32v7-linux:master-${CIRCLE_SHA1}" "grafana/grafana-arm32v7-linux:master"
docker push "grafana/grafana-arm32v7-linux:master"
docker tag "grafana/grafana-arm64v8-linux:master-${CIRCLE_SHA1}" "grafana/grafana-arm64v8-linux:master"
docker push "grafana/grafana-arm64v8-linux:master"
- run:
name: Publish Docker manifest
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker manifest create "grafana/grafana:master" \
"grafana/grafana:master" \
"grafana/grafana-arm32v7-linux:master" \
"grafana/grafana-arm64v8-linux:master"
docker manifest push "grafana/grafana:master"
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
publish-docker-ubuntu-oss-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run:
name: Load Docker images
command: |
mkdir docker
docker load -i /tmp/workspace/docker/grafana-oss-amd64-ubuntu.tar
docker load -i /tmp/workspace/docker/grafana-oss-arm32v7-ubuntu.tar
docker load -i /tmp/workspace/docker/grafana-oss-arm64v8-ubuntu.tar
- run:
name: Log into Docker Hub
command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
- run:
name: Publish Docker images
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker tag "grafana/grafana:master-${CIRCLE_SHA1}-ubuntu" "grafana/grafana:master-ubuntu"
docker push "grafana/grafana:master-ubuntu"
docker tag "grafana/grafana-arm32v7-linux:master-${CIRCLE_SHA1}-ubuntu" "grafana/grafana-arm32v7-linux:master-ubuntu"
docker push "grafana/grafana-arm32v7-linux:master-ubuntu"
docker tag "grafana/grafana-arm64v8-linux:master-${CIRCLE_SHA1}-ubuntu" "grafana/grafana-arm64v8-linux:master-ubuntu"
docker push "grafana/grafana-arm64v8-linux:master-ubuntu"
- run:
name: Publish Docker manifest
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker manifest create "grafana/grafana:master-ubuntu" \
"grafana/grafana:master-ubuntu" \
"grafana/grafana-arm32v7-linux:master-ubuntu" \
"grafana/grafana-arm64v8-linux:master-ubuntu"
docker manifest push "grafana/grafana:master-ubuntu"
- run:
name: CI job failed
command: ./scripts/ci-job-failed.sh
when: on_fail
- run:
name: CI job succeeded
command: ./scripts/ci-job-succeeded.sh
when: on_success
publish-docker-enterprise-master:
executor: docker
steps:
- attach_workspace:
at: /tmp/workspace
- checkout
- run:
name: CI job started
command: ./scripts/ci-job-started.sh
- run:
name: Load Docker images
command: |
mkdir docker
docker load -i /tmp/workspace/docker/grafana-enterprise-amd64.tar
docker load -i /tmp/workspace/docker/grafana-enterprise-arm32v7.tar
docker load -i /tmp/workspace/docker/grafana-enterprise-arm64v8.tar
- run:
name: Log into Docker Hub
command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
- run:
name: Publish Docker images
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker push "grafana/grafana-enterprise:master"
docker push "grafana/grafana-enterprise-arm32v7-linux:master"
docker push "grafana/grafana-enterprise-arm64v8-linux:master"
- run:
name: Publish Docker manifest
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker manifest create "grafana/grafana-enterprise:master" \
"grafana/grafana-enterprise:master" \
"grafana/grafana-enterprise-arm32v7-linux:master" \
"grafana/grafana-enterprise-arm64v8-linux:master"
docker manifest push "grafana/grafana-enterprise:master"
- run: - run:
name: CI job failed name: CI job failed
command: ./scripts/ci-job-failed.sh command: ./scripts/ci-job-failed.sh
...@@ -703,7 +453,13 @@ jobs: ...@@ -703,7 +453,13 @@ jobs:
command: ./scripts/ci-job-succeeded.sh command: ./scripts/ci-job-succeeded.sh
when: on_success when: on_success
publish-docker-ubuntu-enterprise-master: publish-docker-images:
description: Publish Docker images
parameters:
edition:
type: string
ubuntu:
type: boolean
executor: docker executor: docker
steps: steps:
- attach_workspace: - attach_workspace:
...@@ -713,38 +469,19 @@ jobs: ...@@ -713,38 +469,19 @@ jobs:
name: CI job started name: CI job started
command: ./scripts/ci-job-started.sh command: ./scripts/ci-job-started.sh
- run: - run:
name: Load Docker images name: Copy artifacts from workspace
command: | command: |
mkdir docker cp -r /tmp/workspace/<< parameters.edition >>/docker .
docker load -i /tmp/workspace/docker/grafana-enterprise-amd64-ubuntu.tar cp -r /tmp/workspace/<< parameters.edition >>/dist .
docker load -i /tmp/workspace/docker/grafana-enterprise-arm32v7-ubuntu.tar
docker load -i /tmp/workspace/docker/grafana-enterprise-arm64v8-ubuntu.tar
- run:
name: Log into Docker Hub
command: docker login -u "$DOCKER_USER" -p "$DOCKER_PASS"
- run: - run:
name: Publish Docker images name: Publish Docker images
command: | command: |
export DOCKER_CLI_EXPERIMENTAL=enabled if [[ $CIRCLE_BRANCH == "chore/test-release-pipeline" ]]; then
docker push "grafana/grafana-enterprise:master-ubuntu" # We're testing the release pipeline
docker push "grafana/grafana-enterprise-arm32v7-linux:master-ubuntu" /tmp/workspace/bin/grabpl publish-docker --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >> --dry-run
docker push "grafana/grafana-enterprise-arm64v8-linux:master-ubuntu" else
/tmp/workspace/bin/grabpl publish-docker --edition << parameters.edition >> --ubuntu=<< parameters.ubuntu >>
# Publish dev image fi
docker tag "grafana/grafana-enterprise:master-ubuntu" \
"grafana/grafana-enterprise-dev:master-${CIRCLE_SHA1}"
docker push "grafana/grafana-enterprise-dev:master-${CIRCLE_SHA1}"
# deploy to kubernetes
./packaging/docker/deploy_to_k8s.sh "grafana/grafana-enterprise-dev:master-${CIRCLE_SHA1}"
- run:
name: Publish Docker manifest
command: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker manifest create "grafana/grafana-enterprise:master-ubuntu" \
"grafana/grafana-enterprise:master-ubuntu" \
"grafana/grafana-enterprise-arm32v7-linux:master-ubuntu" \
"grafana/grafana-enterprise-arm64v8-linux:master-ubuntu"
docker manifest push "grafana/grafana-enterprise:master-ubuntu"
- run: - run:
name: CI job failed name: CI job failed
command: ./scripts/ci-job-failed.sh command: ./scripts/ci-job-failed.sh
...@@ -757,7 +494,7 @@ jobs: ...@@ -757,7 +494,7 @@ jobs:
end-to-end-tests: end-to-end-tests:
docker: docker:
- image: circleci/node:12-browsers - image: circleci/node:12-browsers
- image: grafana/grafana-dev:master-$CIRCLE_SHA1 - image: grafana/grafana-dev:$CIRCLE_WORKFLOW_ID
steps: steps:
- attach_workspace: - attach_workspace:
at: /tmp/workspace at: /tmp/workspace
...@@ -1017,8 +754,7 @@ jobs: ...@@ -1017,8 +754,7 @@ jobs:
command: './scripts/ci-job-succeeded.sh' command: './scripts/ci-job-succeeded.sh'
when: on_success when: on_success
build-fast-backend:
build-all:
docker: docker:
- image: grafana/build-container:1.2.13 - image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
...@@ -1030,40 +766,13 @@ jobs: ...@@ -1030,40 +766,13 @@ jobs:
- run: - run:
name: ci job started name: ci job started
command: './scripts/ci-job-started.sh' command: './scripts/ci-job-started.sh'
- restore_cache:
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
- run:
name: download phantomjs binaries
command: './scripts/build/download-phantomjs.sh'
- save_cache:
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
paths:
- /tmp/phantomjs
- run:
name: build and package grafana
command: './scripts/build/build-all.sh'
- run:
name: Prepare GPG private key
command: './scripts/build/prepare_signing_key.sh'
- run:
name: sign packages
command: './scripts/build/sign_packages.sh dist/*.rpm'
- run: - run:
name: verify signed packages name: build grafana backend
command: './scripts/build/verify_signed_packages.sh dist/*.rpm' command: './scripts/build/build.sh --fast --backend-only'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: Test and build Grafana.com release publisher
command: 'cd scripts/build/release_publisher && go test . && go build -o release_publisher .'
- persist_to_workspace: - persist_to_workspace:
root: . root: .
paths: paths:
- dist/* - bin/*
- scripts/*.sh
- scripts/build/release_publisher/release_publisher
- scripts/build/publish.sh
- run: - run:
name: ci job failed name: ci job failed
command: './scripts/ci-job-failed.sh' command: './scripts/ci-job-failed.sh'
...@@ -1073,37 +782,42 @@ jobs: ...@@ -1073,37 +782,42 @@ jobs:
command: './scripts/ci-job-succeeded.sh' command: './scripts/ci-job-succeeded.sh'
when: on_success when: on_success
build: build-fast-frontend:
docker: docker:
- image: grafana/build-container:1.2.13 - image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana working_directory: /go/src/github.com/grafana/grafana
steps: steps:
- checkout - checkout
- run: - run:
name: ci job started name: Increase node memory
command: './scripts/ci-job-started.sh' command: |
export NODE_OPTIONS=--max_old_space_size=4096
- run: - run:
name: prepare build tools name: prepare build tools
command: '/tmp/bootstrap.sh' command: '/tmp/bootstrap.sh'
- run: - run:
name: build and package grafana name: ci job started
command: './scripts/build/build.sh' command: './scripts/ci-job-started.sh'
- run: - restore_cache:
name: Prepare GPG private key key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
command: './scripts/build/prepare_signing_key.sh'
- run: - run:
name: sign packages name: build grafana frontend
command: './scripts/build/sign_packages.sh dist/*.rpm' command: './scripts/build/build.sh --fast --frontend-only'
- run: - run:
name: sha-sum packages name: es-check install
command: 'go run build.go sha-dist' command: 'yarn global add es-check'
- run: - run:
name: Test Grafana.com release publisher name: es-check run
command: 'cd scripts/build/release_publisher && go test .' command: 'es-check es5 ./public/build/*.js'
- save_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
paths:
- node_modules
- persist_to_workspace: - persist_to_workspace:
root: . root: .
paths: paths:
- dist/* - public/build/*
- tools/phantomjs/*
- run: - run:
name: ci job failed name: ci job failed
command: './scripts/ci-job-failed.sh' command: './scripts/ci-job-failed.sh'
...@@ -1113,86 +827,13 @@ jobs: ...@@ -1113,86 +827,13 @@ jobs:
command: './scripts/ci-job-succeeded.sh' command: './scripts/ci-job-succeeded.sh'
when: on_success when: on_success
build-fast-backend: build-docs-website:
docker: docker:
- image: grafana/build-container:1.2.13 - image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana working_directory: /docs
steps: steps:
- checkout - checkout
- run: - setup_remote_docker
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run:
name: build grafana backend
command: './scripts/build/build.sh --fast --backend-only'
- persist_to_workspace:
root: .
paths:
- bin/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-fast-frontend:
docker:
- image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: Increase node memory
command: |
export NODE_OPTIONS=--max_old_space_size=4096
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- restore_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
- run:
name: build grafana frontend
command: './scripts/build/build.sh --fast --frontend-only'
- run:
name: es-check install
command: 'yarn global add es-check'
- run:
name: es-check run
command: 'es-check es5 ./public/build/*.js'
- save_cache:
key: frontend-dependency-cache-{{ checksum "yarn.lock" }}
paths:
- node_modules
- persist_to_workspace:
root: .
paths:
- public/build/*
- tools/phantomjs/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-docs-website:
docker:
- image: grafana/build-container:1.2.13
working_directory: /docs
steps:
- checkout
- setup_remote_docker
- run: - run:
name: ci job started name: ci job started
command: './scripts/ci-job-started.sh' command: './scripts/ci-job-started.sh'
...@@ -1361,314 +1002,6 @@ jobs: ...@@ -1361,314 +1002,6 @@ jobs:
command: './scripts/ci-job-succeeded.sh' command: './scripts/ci-job-succeeded.sh'
when: on_success when: on_success
grafana-docker-release:
machine:
image: circleci/classic:201808-01
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build-deploy.sh "${CIRCLE_TAG}"
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64-musl.tar.gz packaging/docker/grafana-latest.linux-x64-musl.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh "${CIRCLE_TAG}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
grafana-docker-ubuntu-release:
machine:
image: circleci/classic:201808-01
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run: docker info
- run: docker run --privileged linuxkit/binfmt:v0.6
- run: cp dist/grafana-latest.linux-*.tar.gz packaging/docker
- run: cd packaging/docker && ./build-deploy.sh --ubuntu "${CIRCLE_TAG}"
- run: rm packaging/docker/grafana-latest.linux-*.tar.gz
- run: cp enterprise-dist/grafana-enterprise-*.linux-amd64.tar.gz packaging/docker/grafana-latest.linux-x64.tar.gz
- run: cd packaging/docker && ./build-enterprise.sh --ubuntu "${CIRCLE_TAG}"
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-enterprise:
docker:
- image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run:
name: checkout enterprise
command: './scripts/build/prepare-enterprise.sh'
- run:
name: test enterprise
command: 'go test ./pkg/extensions/...'
- run:
name: build and package enterprise
command: './scripts/build/build.sh -enterprise'
- run:
name: Prepare GPG private key
command: './scripts/build/prepare_signing_key.sh'
- run:
name: sign packages
command: './scripts/build/sign_packages.sh dist/*.rpm'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: move enterprise packages into their own folder
command: 'mv dist enterprise-dist'
- persist_to_workspace:
root: .
paths:
- enterprise-dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-all-enterprise:
docker:
- image: grafana/build-container:1.2.13
working_directory: /go/src/github.com/grafana/grafana
steps:
- checkout
- run:
name: prepare build tools
command: '/tmp/bootstrap.sh'
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- run:
name: checkout enterprise
command: './scripts/build/prepare-enterprise.sh'
- restore_cache:
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
- run:
name: download phantomjs binaries
command: './scripts/build/download-phantomjs.sh'
- save_cache:
key: phantomjs-binaries-{{ checksum "scripts/build/download-phantomjs.sh" }}
paths:
- /tmp/phantomjs
- run:
name: test enterprise
command: 'go test ./pkg/extensions/...'
- run:
name: build and package grafana
command: './scripts/build/build-all.sh -enterprise'
- run:
name: Prepare GPG private key
command: './scripts/build/prepare_signing_key.sh'
- run:
name: sign packages
command: './scripts/build/sign_packages.sh dist/*.rpm'
- run:
name: verify signed packages
command: './scripts/build/verify_signed_packages.sh dist/*.rpm'
- run:
name: sha-sum packages
command: 'go run build.go sha-dist'
- run:
name: move enterprise packages into their own folder
command: 'mv dist enterprise-dist'
- persist_to_workspace:
root: .
paths:
- enterprise-dist/*
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
deploy-enterprise-release:
docker:
- image: grafana/grafana-ci-deploy:1.2.3
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run:
name: gcp credentials
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
- run:
name: sign in to gcp
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
- run:
name: deploy to gcp
command: '/opt/google-cloud-sdk/bin/gsutil cp ./enterprise-dist/* gs://$GCP_BUCKET_NAME/enterprise/release'
- run:
name: Deploy to Grafana.com
command: './scripts/build/publish.sh --enterprise'
- run:
name: Prepare GPG private key
command: './scripts/build/prepare_signing_key.sh'
- run:
name: Load GPG private key
command: './scripts/build/update_repo/load-signing-key.sh'
- run:
name: Update Debian repository
command: './scripts/build/update_repo/update-deb.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
- run:
name: Publish Debian repository
command: './scripts/build/update_repo/publish-deb.sh "enterprise"'
- run:
name: Update RPM repository
command: './scripts/build/update_repo/update-rpm.sh "enterprise" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "enterprise-dist"'
- run:
name: Publish RPM repository
command: './scripts/build/update_repo/publish-rpm.sh "enterprise" "$CIRCLE_TAG"'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
deploy-release:
docker:
- image: grafana/grafana-ci-deploy:1.2.3
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run:
name: gcp credentials
command: 'echo ${GCP_GRAFANA_UPLOAD_KEY} > /tmp/gcpkey.json'
- run:
name: sign in to gcp
command: '/opt/google-cloud-sdk/bin/gcloud auth activate-service-account --key-file=/tmp/gcpkey.json'
- run:
name: deploy to gcp
command: '/opt/google-cloud-sdk/bin/gsutil cp ./dist/* gs://$GCP_BUCKET_NAME/oss/release'
- run:
name: Deploy to Grafana.com
command: './scripts/build/publish.sh'
- run:
name: Prepare GPG private key
command: './scripts/build/prepare_signing_key.sh'
- run:
name: Load GPG private key
command: './scripts/build/update_repo/load-signing-key.sh'
- run:
name: Update Debian repository
command: './scripts/build/update_repo/update-deb.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
- run:
name: Publish Debian repository
command: './scripts/build/update_repo/publish-deb.sh "oss"'
- run:
name: Update RPM repository
command: './scripts/build/update_repo/update-rpm.sh "oss" "$GPG_KEY_PASSWORD" "$CIRCLE_TAG" "dist"'
- run:
name: Publish RPM repository
command: './scripts/build/update_repo/publish-rpm.sh "oss" "$CIRCLE_TAG"'
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-oss-msi:
docker:
- image: grafana/wix-toolset-ci:v3
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run:
name: Build OSS MSI
command: './scripts/build/ci-msi-build/ci-msi-build-oss.sh'
- persist_to_workspace:
root: .
paths:
- dist/grafana-*.msi
- dist/grafana-*.msi.sha256
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
build-ee-msi:
docker:
- image: grafana/wix-toolset-ci:v3
steps:
- checkout
- run:
name: ci job started
command: './scripts/ci-job-started.sh'
- attach_workspace:
at: .
- run:
name: Build EE MSI
command: './scripts/build/ci-msi-build/ci-msi-build-ee.sh'
- persist_to_workspace:
root: .
paths:
- enterprise-dist/grafana-*.msi
- enterprise-dist/grafana-*.msi.sha256
- run:
name: ci job failed
command: './scripts/ci-job-failed.sh'
when: on_fail
- run:
name: ci job succeeded
command: './scripts/ci-job-succeeded.sh'
when: on_success
store-build-artifacts: store-build-artifacts:
docker: docker:
- image: circleci/node:12 - image: circleci/node:12
...@@ -1764,180 +1097,180 @@ workflows: ...@@ -1764,180 +1097,180 @@ workflows:
build-pipeline: build-pipeline:
jobs: jobs:
- install-grabpl: - install-grabpl:
filters: *filter-only-master filters: *filter-master-or-release
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: armv6 variant: armv6
name: build-oss-backend-armv6 name: build-oss-backend-armv6
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: armv7 variant: armv7
name: build-oss-backend-armv7 name: build-oss-backend-armv7
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: armv7-musl variant: armv7-musl
name: build-oss-backend-armv7-musl name: build-oss-backend-armv7-musl
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: arm64 variant: arm64
name: build-oss-backend-arm64 name: build-oss-backend-arm64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: arm64-musl variant: arm64-musl
name: build-oss-backend-arm64-musl name: build-oss-backend-arm64-musl
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: osx64 variant: osx64
name: build-oss-backend-osx64 name: build-oss-backend-osx64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: win64 variant: win64
name: build-oss-backend-win64 name: build-oss-backend-win64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: linux-x64 variant: linux-x64
name: build-oss-backend-linux-x64 name: build-oss-backend-linux-x64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
edition: oss edition: oss
variant: linux-x64-musl variant: linux-x64-musl
name: build-oss-backend-linux-x64-musl name: build-oss-backend-linux-x64-musl
requires: requires:
- install-grabpl - install-grabpl
- build-frontend: - build-frontend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-oss-frontend name: build-oss-frontend
edition: oss edition: oss
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-armv6
edition: enterprise edition: enterprise
variant: armv6 variant: armv6
name: build-enterprise-backend-armv6
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-armv7
edition: enterprise edition: enterprise
variant: armv7 variant: armv7
name: build-enterprise-backend-armv7
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-armv7-musl
edition: enterprise edition: enterprise
variant: armv7-musl variant: armv7-musl
name: build-enterprise-backend-armv7-musl
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-arm64
edition: enterprise edition: enterprise
variant: arm64 variant: arm64
name: build-enterprise-backend-arm64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-arm64-musl
edition: enterprise edition: enterprise
variant: arm64-musl variant: arm64-musl
name: build-enterprise-backend-arm64-musl
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-osx64
edition: enterprise edition: enterprise
variant: osx64 variant: osx64
name: build-enterprise-backend-osx64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-win64
edition: enterprise edition: enterprise
variant: win64 variant: win64
name: build-enterprise-backend-win64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-linux-x64
edition: enterprise edition: enterprise
variant: linux-x64 variant: linux-x64
name: build-enterprise-backend-linux-x64
requires: requires:
- install-grabpl - install-grabpl
- build-backend: - build-backend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-backend-linux-x64-musl
edition: enterprise edition: enterprise
variant: linux-x64-musl variant: linux-x64-musl
name: build-enterprise-backend-linux-x64-musl
requires: requires:
- install-grabpl - install-grabpl
- build-frontend: - build-frontend:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-frontend name: build-enterprise-frontend
edition: enterprise edition: enterprise
requires: requires:
- install-grabpl - install-grabpl
- build-release-publisher: - build-release-publisher:
filters: *filter-only-master filters: *filter-master-or-release
- codespell: - codespell:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- lint-go: - lint-go:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- shellcheck-grabpl: - shellcheck-grabpl:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- test-backend: - test-backend:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- lint-go - lint-go
- test-frontend: - test-frontend:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- mysql-integration-test: - mysql-integration-test:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- lint-go - lint-go
- postgres-integration-test: - postgres-integration-test:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- lint-go - lint-go
- package-oss: - package-oss:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- build-oss-backend-armv6 - build-oss-backend-armv6
...@@ -1957,7 +1290,7 @@ workflows: ...@@ -1957,7 +1290,7 @@ workflows:
- mysql-integration-test - mysql-integration-test
- postgres-integration-test - postgres-integration-test
- package-enterprise: - package-enterprise:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- install-grabpl - install-grabpl
- build-enterprise-backend-armv6 - build-enterprise-backend-armv6
...@@ -1977,182 +1310,109 @@ workflows: ...@@ -1977,182 +1310,109 @@ workflows:
- mysql-integration-test - mysql-integration-test
- postgres-integration-test - postgres-integration-test
- build-oss-windows-installer: - build-oss-windows-installer:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- package-oss - package-oss
- build-enterprise-windows-installer: - build-enterprise-windows-installer:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- package-enterprise - package-enterprise
- release-next-packages: - release-next-packages:
filters: *filter-only-master filters: *filter-only-master
requires: requires:
- test-frontend - test-frontend
- publish-oss-master: - release-packages:
filters: *filter-only-master filters: *filter-only-release
requires:
- end-to-end-tests
# TODO: Do we have more dependencies?
- publish-packages:
filters: *filter-master-or-release
name: publish-oss-packages
edition: oss
requires: requires:
- package-oss - package-oss
- build-oss-windows-installer - build-oss-windows-installer
- end-to-end-tests - end-to-end-tests
- build-release-publisher - build-release-publisher
- docker-oss-master: - publish-packages:
filters: *filter-only-master filters: *filter-master-or-release
name: publish-enterprise-packages
edition: enterprise
requires:
- package-enterprise
- build-enterprise-windows-installer
- end-to-end-tests
- build-release-publisher
- build-docker-images:
filters: *filter-master-or-release
name: build-oss-docker-images
edition: oss
ubuntu: false
requires: requires:
- package-oss - package-oss
- build-oss-windows-installer - build-oss-windows-installer
- docker-ubuntu-oss-master: - build-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: build-oss-ubuntu-docker-images
edition: oss
ubuntu: true
requires: requires:
- package-oss - package-oss
- build-oss-windows-installer - build-oss-windows-installer
- publish-enterprise-master: - build-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: build-enterprise-docker-images
edition: enterprise
ubuntu: false
requires: requires:
- package-enterprise - package-enterprise
- build-enterprise-windows-installer - build-enterprise-windows-installer
- end-to-end-tests - build-docker-images:
- build-release-publisher filters: *filter-master-or-release
- docker-enterprise-master: name: build-enterprise-ubuntu-docker-images
filters: *filter-only-master edition: enterprise
requires: ubuntu: true
- package-enterprise
- docker-ubuntu-enterprise-master:
filters: *filter-only-master
requires: requires:
- package-enterprise - package-enterprise
- build-enterprise-windows-installer
- end-to-end-tests: - end-to-end-tests:
filters: *filter-only-master filters: *filter-master-or-release
requires: requires:
- docker-oss-master - build-oss-docker-images
- publish-docker-oss-master: - publish-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: publish-oss-docker-images
edition: oss
ubuntu: false
requires: requires:
- docker-oss-master - build-oss-docker-images
- end-to-end-tests - end-to-end-tests
- publish-docker-ubuntu-oss-master: - publish-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: publish-oss-ubuntu-docker-images
edition: oss
ubuntu: true
requires: requires:
- docker-ubuntu-oss-master - build-oss-ubuntu-docker-images
- end-to-end-tests - end-to-end-tests
- publish-docker-enterprise-master: - publish-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: publish-enterprise-docker-images
edition: enterprise
ubuntu: false
requires: requires:
- docker-enterprise-master - build-enterprise-docker-images
- end-to-end-tests - end-to-end-tests
- publish-docker-ubuntu-enterprise-master: - publish-docker-images:
filters: *filter-only-master filters: *filter-master-or-release
name: publish-enterprise-ubuntu-docker-images
edition: enterprise
ubuntu: true
requires: requires:
- docker-ubuntu-enterprise-master - build-enterprise-ubuntu-docker-images
- end-to-end-tests - end-to-end-tests
release:
jobs:
- build-all:
filters: *filter-only-release
- build-all-enterprise:
filters: *filter-only-release
- codespell:
filters: *filter-only-release
- lint-go:
filters: *filter-only-release
- shellcheck:
filters: *filter-only-release
- test-frontend:
filters: *filter-only-release
- test-backend:
filters: *filter-only-release
- mysql-integration-test:
filters: *filter-only-release
- postgres-integration-test:
filters: *filter-only-release
- deploy-release:
requires:
- build-all
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
- build-oss-msi
filters: *filter-only-release
- deploy-enterprise-release:
requires:
- build-all
- build-all-enterprise
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
- build-ee-msi
filters: *filter-only-release
- grafana-docker-release:
requires:
- build-all
- build-all-enterprise
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
- grafana-docker-ubuntu-release:
requires:
- build-all
- build-all-enterprise
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
- release-packages:
requires:
- build-all
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
- build-oss-msi
filters: *filter-only-release
- build-oss-msi:
requires:
- build-all
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
- build-ee-msi:
requires:
- build-all-enterprise
- test-backend
- test-frontend
- codespell
- lint-go
- shellcheck
- mysql-integration-test
- postgres-integration-test
filters: *filter-only-release
- end-to-end-test-release:
requires:
- grafana-docker-release
filters: *filter-only-release
build-branches-and-prs: build-branches-and-prs:
jobs: jobs:
- build-fast-backend: - build-fast-backend:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment