actions / setup-node

Set up your GitHub Actions workflow with a specific version of node.js
MIT License
3.95k stars 1.3k forks source link

Add input for NodeJS distribution url #1150

Open petercort opened 4 weeks ago

petercort commented 4 weeks ago

Description: Add an input named distribution-url which would set the URL where the specified nodejs dist is downloaded from.

Justification:

  1. Periodically using the default NodeJS download url fails causing jobs to fail and it would be nice to point to a custom mirror.
  2. Security and network isolation concerns related to private packages apply to the node dist itself as well.

Are you willing to submit a PR? Yes!

priyagupta108 commented 4 weeks ago

Hi @petercort 👋 , Thank you for the feature request, We'll investigate it and get back to you with updates.

decyjphr commented 1 day ago

@priyagupta108 Any update on this.

Also for documentation purposes, here is the ask in customer's words (Peter has already distilled this accurately above):

  • We've been having a noticeable issue with nodejs.org timing out while trying to download a particular distribution of node. We've historically experienced a similar issue on our legacy (bamboo & jenkins) pipelines - So it's fairly apparently it's not actually an actions issue. We solved it in legacy by mirroring the nodejs repository in our internal Artifactory instance. We'd like to do this in actions as well, however the actions/setup-node code has nodejs.org hardcoded as the download url: https://github.com/actions/setup-node/blob/main/src/distributions/official_builds/official_builds.ts#L179-L181 We were considering opening a pull request against the action to allow something along the lines of an NODEJS_REPOSITORY_URL override variable to allow a custom mirror. It would also need to be able to present credentials to that registry.