diff --git a/.circleci/chart-testing.yaml b/.circleci/chart-testing.yaml new file mode 100644 index 00000000..f9b5e85a --- /dev/null +++ b/.circleci/chart-testing.yaml @@ -0,0 +1,2 @@ +chart-repos: + - argo=https://argoproj.github.io/argo-helm diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 00000000..a1b183d9 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,35 @@ +version: 2.1 +jobs: + lint: + docker: + - image: gcr.io/kubernetes-charts-ci/test-image:v3.0.1 + steps: + - checkout + - run: ct lint --config .circleci/chart-testing.yaml + # Technically this only needs to be run on master, but it's good to have it run on every PR + # so that it is regularly tested. + publish: + docker: + # We just need an image with `helm` on it. Handily we know of one already. + - image: gcr.io/kubernetes-charts-ci/test-image:v3.0.1 + steps: + # install the additional keys needed to push to Github. Alex Collins owns these keys. + - add_ssh_keys + - run: git config --global user.email "nobody@circleci.com" + - run: git config --global user.name "Circle CI Build" + - checkout + - run: helm init --client-only + # Only actually publish charts on master. + - run: | + if [ "$CIRCLE_BRANCH" = "master" ]; then + echo 'export GIT_PUSH=true' >> $BASH_ENV + fi + - run: sh ./scripts/publish.sh +workflows: + version: 2 + workflow: + jobs: + - lint + - publish: + requires: + - lint \ No newline at end of file diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c0058839..08e3b47a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -3,4 +3,4 @@ Checklist: * [ ] I have update the chart version in `Chart.yaml` following Semantic Versioning. * [ ] Any new values are backwards compatible and/or have sensible default. * [ ] I have followed the testing instructions in the [contributing guide](https://github.com/argoproj/argo-helm/blob/master/CONTRIBUTING.md). -* [ ] I have signed the CLA. +* [ ] I have signed the CLA and the build is green. diff --git a/.gitignore b/.gitignore index 8a77cce9..ad3d67a1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ output .vscode .DS_Store -/*.tgz \ No newline at end of file +*.tgz diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6370aeb..528deb77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -51,7 +51,7 @@ argocd app sync guestbook ## Publishing Changes -To push changes use following script: +Changes are automatically publish whenever a commit is merged to master. The CI job (see `.circleci/config.yaml`) runs this: ``` GIT_PUSH=true ./scripts/publish.sh