diff --git a/.circleci/config.yml b/.circleci/config.yml index a55ac557..783c558b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -144,6 +144,47 @@ jobs: - run: test/e2e-linkerd.sh - run: test/e2e-linkerd-tests.sh + push-helm-charts: + docker: + - image: circleci/golang:1.12 + steps: + - checkout + - run: + name: Install kubectl + command: sudo curl -L https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl && sudo chmod +x /usr/local/bin/kubectl + - run: + name: Install helm + command: sudo curl -L https://storage.googleapis.com/kubernetes-helm/helm-v2.14.2-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helm && sudo rm -rf linux-amd64 + - run: + name: Initialize helm + command: helm init --client-only --kubeconfig=$HOME/.kube/kubeconfig + - run: + name: Lint charts + command: | + helm lint ./charts/* + - run: + name: Package charts + command: | + mkdir $HOME/charts + helm package ./charts/* --destination $HOME/charts + - run: + name: Publish charts + command: | + if echo "${CIRCLE_TAG}" | grep -Eq "[0-9]+(\.[0-9]+)*(-[a-z]+)?$"; then + REPOSITORY="https://weaveworksbot:${GITHUB_TOKEN}@github.com/weaveworks/flagger.git" + git config user.email weaveworksbot@users.noreply.github.com + git config user.name weaveworksbot + git remote set-url origin ${REPOSITORY} + git checkout gh-pages + mv -f $HOME/charts/*.tgz . + helm repo index . --url https://flagger.app + git add . + git commit -m "Publish Helm charts v${CIRCLE_TAG}" + git push origin gh-pages + else + echo "Not a release! Skip charts publish" + fi + workflows: version: 2 build-test-push: @@ -198,6 +239,14 @@ workflows: tags: ignore: /^chart.*/ - push-binary: + requires: + - push-container + filters: + branches: + ignore: /.*/ + tags: + ignore: /^chart.*/ + - push-helm-charts: requires: - push-container filters: diff --git a/.github/main.workflow b/.github/_main.workflow similarity index 100% rename from .github/main.workflow rename to .github/_main.workflow