Closed davidkarlsen closed 3 years ago
Thanks for reporting. I'll look into it. From what I've seen, Helm needs to be installed in the first place. This is an oversight because initial testing of the set of actions happened in one workflow and Helm was already there in that case.
I looked into this. Installing Helm alone doesn't really solve this. We would also have to add chart repos for the dependencies. The question is whether this should be part of the chart-releaser action. It may be better to provide a separate action that installs Helm. That could be generally useful anyways. It probably would then look like this:
name: release
on:
push:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
- name: Configure Git
run: |
echo "GITHUB_ACTOR: $GITHUB_ACTOR"
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install Helm
uses: helm/helm-install-action@v1.0.0
- name: Add Helm repos
run: |
helm repo add foo https://foo.helm.example.com
helm repo add bar https://bar.helm.example.com
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.0.0-alpha.1
env:
CR_TOKEN: "${{ secrets.CR_TOKEN }}"
Same for the chart-testing-action. In the old action I used (a non-helm one) repos were added by defining them in the ct-config - maybe that could be done here too?: https://github.com/evryfs/helm-charts/blob/feature/mcrouter-bitnami-memcached/ct-config.yaml && https://github.com/evryfs/helm-charts/commit/82799da2d52f308e46f63f57c6a0577e4e76dea8
Yep that works perfectly for the chart-testing-action 👍 It's a little more of a pain for chart-releaser-action, but it also works. Here's a test in the demo repo. WDYT? https://github.com/helm/charts-repo-actions-demo/pull/7
I think the old action I used where only configuration of ct-config.yaml
was needed was more elegant - then you don't need to mess around with helm-download and configuration.
The other one seems to automate dependency update
: https://github.com/J12934/helm-gh-pages-action/blob/master/index.js#L68
Ah - got it to work for testing - had forgotten to pass the config to the action.
@davidkarlsen do you feel good about closing this issue? Or maybe we should clearly document this somewhere before closing
Mmmm, it was never fixed? Chart-testing works as it seems to read the config-file. But last time I tested the releaser it failed.
The releaser still fails with dependencies while my config file is in the repo: https://github.com/newrelic/helm-charts/runs/713817996
There is a GitHub action to install helm https://github.com/Azure/setup-helm
At a minimum it would be good if the docs were updated to explain how to handle charts with dependencies. I'm just experimenting with this action in https://github.com/odpi/egeria/issues/1514 and found the same issue ie, when I had my released charts posted to my new pages (nice thanks!):
$ helm install lab odpi-egeria-lab [11:06:57]
Error: found in Chart.yaml, but missing in charts/ directory: kafka
I got the same issue for an older chart (requirements.yaml) and newer (dependencies in Chart.yaml) - I'll look at the fragment above & aim to automate the repo add (and presumably dependency update)
Apologies - user error. I had been using local paths rather than referring to my new repo. Dependencies now do seem to be handled correctly
This works now, so closing.
Look at https://github.com/evryfs/helm-charts/commit/7758626b628d9b2a86d06f56709e0f72450360d0/checks?check_suite_id=351179142 - it seems the releaser has problems dealing with charts that have dependencies, as it fails with: