diff --git a/.github/workflows/lint-test-chart.yaml b/.github/workflows/lint-test-chart.yaml index 7a06a393c..63702911d 100644 --- a/.github/workflows/lint-test-chart.yaml +++ b/.github/workflows/lint-test-chart.yaml @@ -7,6 +7,7 @@ on: jobs: lint-test: + if: github.repository == "kubernetes-sigs/external-dns" runs-on: ubuntu-latest steps: - name: Checkout @@ -36,7 +37,7 @@ jobs: fi - name: Run chart-testing (lint) - run: ct lint + run: ct lint --check-version-increment false - name: Create Kind cluster uses: helm/kind-action@v1.2.0 diff --git a/.github/workflows/release-chart.yaml b/.github/workflows/release-chart.yaml index b72995986..3835cf249 100644 --- a/.github/workflows/release-chart.yaml +++ b/.github/workflows/release-chart.yaml @@ -5,10 +5,11 @@ on: branches: - master paths: - - "charts/external-dns/**" + - "charts/external-dns/Chart.yaml" jobs: release: + if: github.repository == "kubernetes-sigs/external-dns" runs-on: ubuntu-latest steps: - name: Checkout diff --git a/docs/contributing/chart.md b/docs/contributing/chart.md new file mode 100644 index 000000000..da16c6d14 --- /dev/null +++ b/docs/contributing/chart.md @@ -0,0 +1,5 @@ +# Helm Chart + +## Chart Changes + +When contributing chart changes please follow the same process as when contributing other content but also please **DON'T** modify _Chart.yaml_ in the PR as this would result in a chart release when merged and will mean that your PR will need modifying before it can be accepted. The chart version will be updated as part of the PR to release the chart. diff --git a/docs/release.md b/docs/release.md index dcfe0de5d..8abf4d3b7 100644 --- a/docs/release.md +++ b/docs/release.md @@ -29,5 +29,16 @@ You must be an official maintainer of the project to be able to do a release. - Create a PR in the [k8s.io repo](https://github.com/kubernetes/k8s.io) (see https://github.com/kubernetes/k8s.io/pull/540 for reference) by taking the current staging image using the sha256 digest. Once the PR is merged, the image will be live with the corresponding tag specified in the PR. - Verify that the image is pullable with the given tag (i.e. `v0.7.5`). - Branch out from the default branch and run `scripts/kustomize-version-udapter.sh` to update the image tag used in the kustomization.yaml. +- Create an issue to release the corresponding Helm chart via the chart release process (below) assigned to a chart maintainer - Create a PR with the kustomize change. - Once the PR is merged, all is done :-) + +## How to release a new chart version + +The chart needs to be released in response to an ExternalDNS image release or on an as-needed basis; this should be triggered by an issue to release the chart. + +### Steps + +- Create a PR to update _Chart.yaml_ with the ExternalDNS version in `appVersion`, agreed on chart release version in `version` and `annotations` showing the changes +- Validate that the chart linting is successful +- Merge the PR to trigger a GitHub action to release the chart