Code Monkey home page Code Monkey logo

setup-helm's Introduction

Setup Helm

Install a specific version of helm binary on the runner.

Example

Acceptable values are latest or any semantic version string like v3.5.0 Use this action in workflow to define which version of helm will be used. v2+ of this action only support Helm3.

- uses: azure/[email protected]
  with:
     version: '<version>' # default is latest (stable)
  id: install

Note

If something goes wrong with fetching the latest version the action will use the hardcoded default stable version (currently v3.13.3). If you rely on a certain version higher than the default, you should explicitly use that version instead of latest.

The cached helm binary path is prepended to the PATH environment variable as well as stored in the helm-path output variable. Refer to the action metadata file for details about all the inputs https://github.com/Azure/setup-helm/blob/master/action.yml

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Support

setup-helm is an open source project that is not covered by the Microsoft Azure support policy. Please search open issues here, and if your issue isn't already represented please open a new one. The project maintainers will respond to the best of their abilities.

setup-helm's People

Contributors

aamgayle avatar ajayk avatar anumita avatar bert-r avatar bonddim avatar brianloss avatar davidgamero avatar dependabot[bot] avatar elproxy avatar jsjoeio avatar mcabrams avatar microsoftopensource avatar msftgits avatar olivermking avatar paulvollmer avatar rgsubh avatar shashankbarsin avatar shigupt202 avatar sundargs2000 avatar tbarnes94 avatar teko012 avatar thesattiraju avatar vidya2606 avatar yrodiere avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

setup-helm's Issues

Bug:

What happened?

azure/setup-helm@v3 to install helm in GitHub action

Error while fetching latest Helm release: Error: [@octokit/auth-action] GITHUB_TOKEN variable is not set. It must be set on either env: or with:. See https://github.com/octokit/auth-action.js#createactionauth. Using default version v3.9.0

Version

  • I am using the latest version

Runner

  • name: Setup Helm uses: azure/setup-helm@v3

Relevant log output

Error while fetching latest Helm release: Error: [@octokit/auth-action] GITHUB_TOKEN variable is not set. It must be set on either env: or with:. See https://github.com/octokit/auth-action.js#createactionauth. Using default version v3.9.0

avoid deprecated calls

When running the action you will see:

Warning: The `add-path` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands

Bug: Has a v4.0.0, but no v4

What happened?

Previous versions had a shortcut version of e.g. v3. The new v4 action only has a v4.0.0.

This requires one to use v4.0.0 explicitly. My expectation would be to be able to use v4 as well.

Version

  • I am using the latest version

Runner

ubuntu-22.04

Relevant log output

None.

Support for different architectures

Hello, and thanks for the useful action.

It seems this action currently only supports amd64, which appears to be hardcoded in the get.helm.sh url.
https://github.com/Azure/setup-helm/blob/master/lib/run.js#L59

It would be nice to have this support alternative architectures such as arm64 the same way the azure/setup-kubectl action does.

Currently working around this by copying a lot of the same logic in bash.

             mkdir -p /tmp/helm /opt/hostedtoolcache/helm/3.7.2/arm64/linux-arm64/
             wget https://get.helm.sh/helm-v3.7.2-linux-arm64.tar.gz
             tar -zxvf helm-v3.7.2-linux-arm64.tar.gz -C /tmp/helm
             mv /tmp/helm/linux-arm64/helm /opt/hostedtoolcache/helm/3.7.2/arm64/linux-arm64/
             echo "/opt/hostedtoolcache/helm/3.7.2/arm64/linux-arm64/" >> $GITHUB_PATH

Unable to install a particular version

I tried to specify a particular version of Helm 3 like

jobs:
  job:
    steps:
      - name: Install Helm 3
        uses: azure/setup-helm@v1
        with:
          version: 3.1.1

and got the following error:

##[error]Error: Failed to download Helm from location  https://get.helm.sh/helm-3.1.1-linux-amd64.zip

Using latest worked well.

Upgrade action to use node20

https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

Node 16 has reached its end of life, prompting us to initiate its deprecation process for GitHub Actions. Our plan is to transition all actions to run on Node 20 by Spring 2024. We will actively monitor the migration's progress and gather community feedback before finalizing the transition date. Starting October 23rd, workflows containing actions running on Node 16 will display a warning to alert users about the upcoming migration.

What you need to do

For Actions maintainers

Modify your actions to run on Node 20 instead of Node 16. For guidance, refer to the Actions configuration settings .

Dont require github.com token

hello, thanks for this action! ๐Ÿค
it saved some hours of my work ๐Ÿป

however, i have small request.

would it be possible to change the implementation, not to use github.com token for the github api?

i mean this piece of code:

async function getLatestHelmVersionFor(type: string): Promise<string> {
    const token = core.getInput('token', { 'required': true });

the problem is that we run the action hundreds of thousands of times every day (we have bilions of microservices, each will run it at least 3 times on single PR! and bunch of active developers that are creating PRs every second)

all that, in conjunction, is creating massive attak on github API, which requires github.com token -> as a result, the token is API Rate limited :/

can we somehow use latest as version, to fetch latest, but do not query github api?

as a result we have blocked pipelines, which is defniately not the way to go.
also, we can consider changing version to some fixed version, but then we need to update the version manually, which is also not the way to go :(

Option for installing tiller

It would be great if the action could [optionally] installer tiller too. That would be a good fit for builds based on kinD where you don't have an existing cluster where tiller could be expected to already be running.

Error: Failed to download Helm from location https://get.helm.sh/helm-v1.2.1-linux-amd64.zip

What happened?

Run azure/[email protected]
Downloading v1.2.1
  Error: Error: Failed to download Helm from location https://get.helm.sh/helm-v1.2.1-linux-amd[6](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478016380#step:4:7)4.zip

Version

  • I am using the latest version

Runner

Ubuntu 20.04.5

Relevant log output

##[debug]Evaluating condition for step: 'Install helm'
##[debug]Evaluating: (success() && (steps.changed-files.outputs.any_changed == 'true'))
##[debug]Evaluating And:
##[debug]..Evaluating success:
##[debug]..=> true
##[debug]..Evaluating Equal:
##[debug]....Evaluating Index:
##[debug]......Evaluating Index:
##[debug]........Evaluating Index:
##[debug]..........Evaluating steps:
##[debug]..........=> Object
##[debug]..........Evaluating String:
##[debug]..........=> 'changed-files'
##[debug]........=> Object
##[debug]........Evaluating String:
##[debug]........=> 'outputs'
##[debug]......=> Object
##[debug]......Evaluating String:
##[debug]......=> 'any_changed'
##[debug]....=> 'true'
##[debug]....Evaluating String:
##[debug]....=> 'true'
##[debug]..=> true
##[debug]=> true
##[debug]Expanded: (true && ('true' == 'true'))
##[debug]Result: true
##[debug]Starting: Install helm
##[debug]Loading inputs
##[debug]Evaluating: secrets.GITHUB_TOKEN
##[debug]Evaluating Index:
##[debug]..Evaluating secrets:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'GITHUB_TOKEN'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run azure/[email protected]
  
::group::Downloading v1.[2](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781#step:4:2).1
Downloading v1.2.1
  ##[debug]isExplicit: 1.2.1
  ##[debug]explicit? true
  ##[debug]checking cache: /opt/hostedtoolcache/helm/1.2.1/x64
  ##[debug]not found
  ##[debug]Downloading https://get.helm.sh/helm-v1.2.1-linux-amd64.zip
  ##[debug]Downloading /home/runner/work/_temp/7[3](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781#step:4:3)8081a7-2c00-[4](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781#step:4:4)e8b-8118-a9822f6644a[5](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781#step:4:5)
  ##[debug]Failed to download from "https://get.helm.sh/helm-v1.2.1-linux-amd[6](https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781#step:4:6)4.zip". Code(404) Message(Not Found)
  Error: Error: Failed to download Helm from location https://get.helm.sh/helm-v1.2.1-linux-amd64.zip
  ##[debug]Node Action run completed with exit code 1
  ##[debug]Finishing: Install helm

https://github.com/coder/code-server/actions/runs/3316135595/jobs/5478071781

Parameter 'commandLine' cannot be null or empty during install

Hey, I am trying to install helm with your action like it is described in the documentation:

    - name: Helm tool installer
      uses: azure/setup-helm@v1
      with:
        version: "latest"

But I am getting the following error:

##[debug]Downloading https://api.github.com/repos/helm/helm/releases
##[debug]Downloading /opt/actions-runner/_path/_temp/592dc6b5-6aee-4535-9314-251a15e38af0
##[debug]download complete
##[debug]isExplicit: 3.2.4
##[debug]explicit? true
##[debug]checking cache: /opt/hostedtoolcache/helm/3.2.4/x64
##[debug]not found
##[debug]Downloading https://get.helm.sh/helm-v3.2.4-linux-amd64.zip
##[debug]Downloading /opt/actions-runner/_path/_temp/e1a2a8c9-cd3a-4036-afb4-0fb91b094ec2
##[debug]download complete
##[error]Error: Parameter 'commandLine' cannot be null or empty.
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Helm tool installer

Do I need to do some additional setup? I am using a self-hosted runner, might that be the problem?

Error: unknown command "chart" for "helm"

We are using this action in our GitHub workflow actions. Current set to use latest Helm Version - since morning our builds are failing and I see that it has started pulling Helm Version: v3.7.0

After setup on any helm command like for helm chart pull ... helm chart export ... are failing and it says:

Error: unknown command "chart" for "helm"

I checked for new Helm Releases and seems like Helm 3.7.0 was released ~17 hours ago and they have mentioned that all helm chart.. commands are removed.

https://github.com/helm/helm/releases

I don't see this documented on this link:
https://docs.microsoft.com/en-us/azure/container-registry/container-registry-helm-repos

I am not sure how to deal with this blockage.
For now, I am changing it to a specific version that works for us and not latest. But can someone help update the document for old version equivalent new version commands and may be mentioned that change somewhere.

Thanks in advance!

Bug: Script is giving warning for set output.

What happened?

Helm tool version: 'v3.10.2' has been cached at /opt/hostedtoolcache/helm/3.10.2/x64/linux-amd64/helm
Warning: The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Version

  • I am using the latest version

Runner

github action

Relevant log output

Helm tool version: 'v3.10.2' has been cached at /opt/hostedtoolcache/helm/3.10.2/x64/linux-amd64/helm
Warning: The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

Action doesn't seem to work on self-hosted agents

Hi there,

I have this action in two different jobs on my pipeline. One runs on ubuntu-latest, the other runs on self-hosted.

    - name: Set up Helm
      uses: azure/setup-helm@v1
      with:
        version: 'v3.4.0'

When running on ubuntu-latest, it works perfectly fine but when running on self-hosted, I get this:

Error: Error: Parameter 'commandLine' cannot be null or empty.

I've enabled debug logging and this is the full output of that step:

##[debug]Evaluating condition for step: 'Set up Helm'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Set up Helm
##[debug]Loading inputs
##[debug]Loading env
Run azure/setup-helm@v1
  with:
    version: v3.4.0
  env:
    HELM_EXPERIMENTAL_OCI: 1
    KUBECONFIG: /home/user/actions-runner/_work/_temp/kubeconfig_1616684639908
##[debug]isExplicit: 3.4.0
##[debug]explicit? true
##[debug]checking cache: /home/user/actions-runner/_work/_tool/helm/3.4.0/x64
##[debug]not found
##[debug]Downloading https://get.helm.sh/helm-v3.4.0-linux-amd64.zip
##[debug]Downloading /home/user/actions-runner/_work/_temp/f2c38490-7ffa-45cd-bd44-e414c0256038
##[debug]download complete
Error: Error: Parameter 'commandLine' cannot be null or empty.
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Set up Helm

My host is also ubuntu-latest by the way. Any idea on what could be causing the problem with the self-hosted agent?

Thank you

Add `v2` tag

Assuming that this repo follows SemVer v2, could we have a v2 tag added to track the v2.x.y releases?

Bug: Latest is incorrectly pulling last result in gh api release queries and not the latest release

What happened?

Using the latest version in the helm action causes this code: https://github.com/Azure/setup-helm/blob/main/src/run.ts#L52 to attempt to lookup the latest release from the helm/helm github repo via the github graphql api. This api call limits the result set to 100, so once helm added more than 100 total releases, this fails to find the actual latest version. Currently it finds 1.2.1 which is quite an old helm version. (see api call log below)

This should be updated to correctly find the latest version by sorting the list via semver versioning rules using the entire result set (by pagination or using a larger than 100 number), OR better yet it should install the latest version using the script provided by the helm team listed in the docs here: https://helm.sh/docs/intro/install/

Version

  • I am using the latest version

Runner

self-hosted

Relevant log output

response from the api shows the latest version to be 1.2.1 according to the implementation here

gh api graphql -f query='{
               repository(name: "helm", owner: "helm") {
                  releases(last: 100) {
                     nodes {
                        tagName
                     }
                  }
               }
            }' | jq
{
  "data": {
    "repository": {
      "releases": {
        "nodes": [
          {
            "tagName": "v2.16.3"
          },
          {
            "tagName": "v2.16.2"
          },
          {
            "tagName": "v3.1.0-rc.3"
          },
          {
            "tagName": "v3.1.0-rc.2"
          },
          {
            "tagName": "v3.1.0-rc.1"
          },
          {
            "tagName": "v3.0.3"
          },
          {
            "tagName": "v3.0.2"
          },
          {
            "tagName": "v3.0.1"
          },
          {
            "tagName": "v3.0.0"
          },
          {
            "tagName": "v3.0.0-rc.4"
          },
          {
            "tagName": "v2.16.1"
          },
          {
            "tagName": "v3.0.0-rc.3"
          },
          {
            "tagName": "v2.16.0"
          },
          {
            "tagName": "v3.0.0-rc.2"
          },
          {
            "tagName": "v2.16.0-rc.2"
          },
          {
            "tagName": "v2.16.0-rc.1"
          },
          {
            "tagName": "v3.0.0-rc.1"
          },
          {
            "tagName": "v2.15.2"
          },
          {
            "tagName": "v2.15.1"
          },
          {
            "tagName": "v3.0.0-beta.5"
          },
          {
            "tagName": "v2.15.0"
          },
          {
            "tagName": "v2.15.0-rc.2"
          },
          {
            "tagName": "v2.15.0-rc.1"
          },
          {
            "tagName": "v3.0.0-beta.4"
          },
          {
            "tagName": "v3.0.0-beta.3"
          },
          {
            "tagName": "v3.0.0-beta.2"
          },
          {
            "tagName": "v3.0.0-beta.1"
          },
          {
            "tagName": "v2.14.3"
          },
          {
            "tagName": "v3.0.0-alpha.2"
          },
          {
            "tagName": "v2.14.2"
          },
          {
            "tagName": "v2.14.1"
          },
          {
            "tagName": "v3.0.0-alpha.1"
          },
          {
            "tagName": "v2.14.0"
          },
          {
            "tagName": "v2.14.0-rc.2"
          },
          {
            "tagName": "v2.14.0-rc.1"
          },
          {
            "tagName": "v2.13.1"
          },
          {
            "tagName": "v2.13.0"
          },
          {
            "tagName": "v2.13.0-rc.2"
          },
          {
            "tagName": "v2.13.0-rc.1"
          },
          {
            "tagName": "v2.12.3"
          },
          {
            "tagName": "v2.12.2"
          },
          {
            "tagName": "v2.12.1"
          },
          {
            "tagName": "v2.12.0"
          },
          {
            "tagName": "v2.12.0-rc.2"
          },
          {
            "tagName": "v2.12.0-rc.1"
          },
          {
            "tagName": "v2.11.0"
          },
          {
            "tagName": "v2.11.0-rc.4"
          },
          {
            "tagName": "v2.11.0-rc.3"
          },
          {
            "tagName": "v2.11.0-rc.2"
          },
          {
            "tagName": "v2.11.0-rc.1"
          },
          {
            "tagName": "v2.10.0"
          },
          {
            "tagName": "v2.10.0-rc.3"
          },
          {
            "tagName": "v2.10.0-rc.2"
          },
          {
            "tagName": "v2.10.0-rc.1"
          },
          {
            "tagName": "v2.9.1"
          },
          {
            "tagName": "v2.9.0"
          },
          {
            "tagName": "v2.9.0-rc5"
          },
          {
            "tagName": "v2.9.0-rc4"
          },
          {
            "tagName": "v2.9.0-rc3"
          },
          {
            "tagName": "v2.9.0-rc2"
          },
          {
            "tagName": "v2.9.0-rc1"
          },
          {
            "tagName": "v2.8.2"
          },
          {
            "tagName": "v2.8.1"
          },
          {
            "tagName": "v2.8.0"
          },
          {
            "tagName": "v2.8.0-rc.1"
          },
          {
            "tagName": "v2.7.2"
          },
          {
            "tagName": "v2.7.1"
          },
          {
            "tagName": "v2.7.0"
          },
          {
            "tagName": "v2.7.0-rc1"
          },
          {
            "tagName": "v2.6.2"
          },
          {
            "tagName": "v2.6.1"
          },
          {
            "tagName": "v2.6.0"
          },
          {
            "tagName": "v2.5.1"
          },
          {
            "tagName": "v2.5.0"
          },
          {
            "tagName": "v2.4.2"
          },
          {
            "tagName": "v2.4.1"
          },
          {
            "tagName": "v2.4.0"
          },
          {
            "tagName": "v2.3.1"
          },
          {
            "tagName": "v2.3.0"
          },
          {
            "tagName": "v2.2.3"
          },
          {
            "tagName": "v2.2.2"
          },
          {
            "tagName": "v2.2.1"
          },
          {
            "tagName": "v2.2.0"
          },
          {
            "tagName": "v2.1.3"
          },
          {
            "tagName": "v2.1.2"
          },
          {
            "tagName": "v2.1.1"
          },
          {
            "tagName": "v2.1.0"
          },
          {
            "tagName": "v2.0.2"
          },
          {
            "tagName": "v2.0.1"
          },
          {
            "tagName": "v2.0.0"
          },
          {
            "tagName": "v2.0.0-rc.2"
          },
          {
            "tagName": "v2.0.0-rc.1"
          },
          {
            "tagName": "v2.0.0-beta.2"
          },
          {
            "tagName": "v2.0.0-beta.1"
          },
          {
            "tagName": "v2.0.0-alpha.5"
          },
          {
            "tagName": "v2.0.0-alpha.4"
          },
          {
            "tagName": "v2.0.0-alpha.3"
          },
          {
            "tagName": "v2.0.0-alpha.2"
          },
          {
            "tagName": "v2.0.0-alpha.1"
          },
          {
            "tagName": "v1.2.1"
          }
        ]
      }
    }
  }
}

Bug: Amd64 installed instead of arm

What happened?

Hi,

We use a github runner based on arm64 in aws, and when we start using this action, we got a strange error:

Helm tool version: 'v3.11.3' has been cached at *_tool/helm/3.11.3/arm64/linux-amd64/helm

It's looks like that actions is downloading the incorrect version according to my architecture:

uname -m
aarch64

Native script get_helm.sh is working as shine, so it's looks there is a problem in node-script:

   const arch = os.arch()
   const operatingSystem = os.type()

   switch (true) {
      case operatingSystem == LINUX && arch == ARM64:
         return util.format(
            'https://get.helm.sh/helm-%s-linux-arm64.zip',
            version
         )

not sure if the os.arch is returning in this case aarch64 instead of arm64, so the condition in switch is incorrect.

Version

  • I am using the latest version

Runner

self-hosted, linux, arm64 (graviton aws)

Relevant log output

Helm tool version: 'v3.11.3' has been cached at *_tool/helm/3.11.3/arm64/linux-amd64/helm
....
_tool/helm/3.11.3/arm64/linux-amd64/helm: cannot execute binary file: Exec format error

Bug: Action is reported as deprecated

What happened?

Using v3 in a build causes the following error:

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: azure/setup-helm@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

Version

  • I am using the latest version

Runner

github

Relevant log output

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: azure/setup-helm@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

Option for installing tiller

It would be great if the action could [optionally] installer tiller too. That would be a good fit for builds based on kinD where you don't have an existing cluster where tiller could be expected to already be runnning.

Failed to download Helm in proxy based environments

We are attempting to leverage azure/setup-helm@v1 in a self-hosted runner environment which requires proxy configuration if wanting to access artifacts from the Internet. What we're seeing is that the actual download of the Helm charts is timing out and it looks like the proxy configuration isn't being applied. I've worked with GitHub in attempting to troubleshoot the issue however they've hit a road block and advised to raise an issue due to not being able to further troubleshoot because of typed-rest-client being used to connect to the proxy.

The error we're seeing (debug logs from workflow output):

##[debug]Evaluating condition for step: 'Set up Helm'
##[debug]Evaluating: success()
##[debug]Evaluating success:
##[debug]=> true
##[debug]Result: true
##[debug]Starting: Set up Helm
##[debug]Loading inputs
##[debug]Evaluating: github.token
##[debug]Evaluating Index:
##[debug]..Evaluating github:
##[debug]..=> Object
##[debug]..Evaluating String:
##[debug]..=> 'token'
##[debug]=> '***'
##[debug]Result: '***'
##[debug]Loading env
Run azure/setup-helm@v1
##[debug]Downloading v3.2.4
##[debug]isExplicit: 3.2.4
##[debug]explicit? true
##[debug]checking cache: /home/actions/actions-runner/_work/_tool/helm/3.2.4/x64
##[debug]not found
##[debug]Downloading https://get.helm.sh/helm-v3.2.4-linux-amd64.zip
##[debug]Downloading /home/actions/actions-runner/_work/_temp/bb2c4ca1-8372-4782-a925-632994ef13e3
##[debug]Enhanced Annotations not enabled on the server. The 'title', 'end_line', and 'end_column' fields are unsupported.
Error: Error: Failed to download Helm from location  https://get.helm.sh/helm-v3.2.4-linux-amd64.zip
##[debug]Node Action run completed with exit code 1
##[debug]Finishing: Set up Helm

We are able to validate that we have no issues downloading the .zip file via curl via the proxy.

Logs of our workload run (taken from runner) show the following:

2021-09-11T07:20:19.3964028Z HTTP 22811: call onSocket 0 0
2021-09-11T07:20:19.3982478Z HTTP 22811: createConnection proxy.xxxx.yyyy:zzzz: {
2021-09-11T07:20:19.3983726Z   host: 'proxy.xxxx.yyyy',
2021-09-11T07:20:19.3984463Z   port: '8080',
2021-09-11T07:20:19.3984984Z   method: 'CONNECT',
2021-09-11T07:20:19.3985396Z   path: null,
2021-09-11T07:20:19.3985790Z   agent: false,
2021-09-11T07:20:19.3986584Z   servername: 'proxy.xxxx.yyyy',
2021-09-11T07:20:19.3987617Z   _agentKey: 'proxy.xxxx.yyyy:zzzz:'
2021-09-11T07:20:19.3988213Z }
2021-09-11T07:20:19.4000321Z HTTP 22811: sockets proxy.xxxx.yyyy:zzzz: 1
2021-09-11T07:20:19.4010898Z HTTP 22811: outgoing message end.
2021-09-11T07:20:19.4014411Z HTTP 22811: outgoing message end.
2021-09-11T07:20:19.4021290Z (node:22811) Warning: Setting the NODE_DEBUG environment variable to 'http' can expose sensitive data (such as passwords, tokens and authentication headers) in the resulting log.
2021-09-11T07:20:59.2894936Z HTTP 22811: AGENT incoming response!
2021-09-11T07:20:59.2900502Z HTTP 22811: CLIENT socket onRemove
2021-09-11T07:20:59.2904182Z HTTP 22811: removeSocket proxy.xxxx.yyyy:zzzz: writable: true

We can see that GitHub Actions passed the proxy configuration to the action, however node.js refuses to connect to the proxy server.

I believe a successfully connection would look something like the below:

HTTP 7594: call onSocket 0 0
HTTP 7594: createConnection 127.0.0.1:9090: {
  host: '127.0.0.1',
  port: '9090',
  method: 'CONNECT',
  path: null,
  agent: false,
  headers: { host: 'pipelines.actions.githubusercontent.com:443' },
  servername: 'pipelines.actions.githubusercontent.com',
  _agentKey: '127.0.0.1:9090:'
}
HTTP 7594: sockets 127.0.0.1:9090: 1
HTTP 7594: outgoing message end.
HTTP 7594: write ret = true
HTTP 7594: outgoing message end.
(node:7594) Warning: Setting the NODE_DEBUG environment variable to 'http' can expose sensitive data (such as passwords, tokens and authentication headers) in the resulting log.
HTTP 7594: AGENT incoming response!
HTTP 7594: CLIENT socket onRemove
HTTP 7594: removeSocket 127.0.0.1:9090: writable: true
HTTP 7594: AGENT incoming response!
HTTP 7594: AGENT socket keep-alive
##[debug]Upload Resource URL: <redacted>
##[debug]File Concurrency: 2, and Chunk Size: 8388608
HTTP 7594: call onSocket 0 0
HTTP 7594: createConnection 127.0.0.1:9090: {
  host: '127.0.0.1',
  port: '9090',
  method: 'CONNECT',
  path: null,
  agent: false,
  headers: { host: 'pipelines.actions.githubusercontent.com:443' },
  servername: 'pipelines.actions.githubusercontent.com',
  _agentKey: '127.0.0.1:9090:'
}

Bug: Latest version is grabbing alpha version of tool

What happened?

Expecting:
Helm tool version: 'v3.8.2' has been cached at /opt/hostedtoolcache/helm/3.8.2/x64/linux-amd64/helm
actual
Helm tool version: 'v3.0.0-alpha.1' has been cached at /opt/hostedtoolcache/helm/3.0.0-alpha.1/x64/linux-amd64/helm

Version

  • I am using the latest version

Runner

self-hosted

Relevant log output

Run azure/setup-helm@v1
with:
version: latest
...
creating: linux-amd64/
inflating: linux-amd64/helm
inflating: linux-amd64/LICENSE
inflating: linux-amd64/README.md

Wrong version used after installation

The following YAML snippet is expected to result in Helm 3 being setup for usage as setup-helm action installs latest version (3) by default if version input is left unspecified. While setup-helm installs Helm 3 in tool cache, running helm version shows that version 2 is the one picked up by running helm command

- uses: azure/setup-helm@v1
- run: |
    helm version

Parameter 'commandLine' cannot be null or empty.

I tried to setup version of Helm 2.14.3 and know helm version:

  deployment:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v1
      - name: Setup helm 
        uses: azure/setup-helm@v1
        with:
          version: 'v2.14.3' # default is latest stable
        id: install

      - run: |
          helm version --client

But I got the following error:
image

Could you tell me what's wrong?

Bug: unzip not available on ARC runners with default image

What happened?

Hello!

When using GitHub's Actions Runner Controller with the default runner image, the Azure/setup-helm action fails due to unzip being unavailable. It is necessary to sudo apt update && sudo apt install unzip prior to using this action.

It seems sensible for Azure/setup-helm to check for the presence of its dependencies and install them when they're unavailable.

Version

  • I am using the latest version

Runner

self hosted, default ubuntu-based image

Relevant log output

Run azure/setup-helm@v3
  with:
    version: v[3](https://github.com/tay-bird/nightshade/actions/runs/7558790943/job/20581132748#step:4:3).13.3
Downloading v3.13.3
  Error: Error: Unable to locate executable file: unzip. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.