Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nextflow installation issues in GHA #5

Closed
FriederikeHanssen opened this issue Nov 13, 2022 · 6 comments · Fixed by #10
Closed

Nextflow installation issues in GHA #5

FriederikeHanssen opened this issue Nov 13, 2022 · 6 comments · Fixed by #10

Comments

@FriederikeHanssen
Copy link

Hey!,

i am running into various issues with the Nextflow installation in my Github action runs:
a couple of examples:

3s
Run nf-core/setup-nextflow@v1
Error: Could not retrieve Nextflow release matching 21.10.3.
API rate limit exceeded for installation ID 1565271.
Error: Could not parse the download URL
Cannot read properties of undefined (reading 'filter')
Error: versionSpec parameter is required
Warning: Nextflow appears to have installed correctly, but an error was thrown while running it.
Run wget -qO- get.nextflow.io | bash
Downloading nextflow dependencies. It may require a few seconds, please wait .. 
Downloading nextflow dependencies. It may require a few seconds, please wait .. 
Unable to initialize nextflow environment

Error: Process completed with exit code 1.
@FriederikeHanssen
Copy link
Author

@MillironX
Copy link
Member

The action uses the GitHub API to parse out version numbers. If you run 1000 pipelines in an hour, then you can overload your API token, which is what happened in the first example. You can bump this up to 5000 pipelines per hour (with caveats) if you provide a user token. See https://docs.github.com/en/rest/overview/resources-in-the-rest-api#requests-from-github-actions.

The second example doesn't use this action, so I don't know what happened there.

The third example links to a run that completed successfully for me.


The rate limit can be avoided entirely using the old method of wget -qO- get.nextflow.io | bash; sudo mv nextflow /usr/bin. The tradeoffs are

Manual install

Action

  • Rate limited
  • Less testing
  • Can parse version numbers easily and exactly
  • "Better" Node performance
  • Caches Nextflow install for faster runs
  • Uses GitHub-provided methods for manipulating $PATH (i.e., less likely to break on runner updates)

@MillironX
Copy link
Member

This might be able to be overcome using conditional requests. I will look into that more.

@MillironX
Copy link
Member

Another idea (i.e. note-to-self):

graph TD;
  start(Start)-->octokit[Try to access Octokit API to get the list of Nextflow releases];
  octokit-->octokitsuccess{Was Octokit query successful?};
  octokitsuccess--Yes-->normal[Proceed as normal];
  octokitsuccess--No-->checkcache[Check Octokit cache for tag];
  checkcache-->cachesuccess{Does Octokit cache contain tag?};
  cachesuccess--Yes-->warn[Issue warning to user];
  warn-->install[Install Nextflow];
  normal-->addcache[Add Octokit results to Octokit cache];
  addcache-->install;
  install-->endproc(End);
  cachesuccess--No-->error[Throw exception];
  error-->enderror(Process failed)  
Loading

@nvnieuwk
Copy link

nvnieuwk commented May 4, 2023

Any news on this? :)

@MillironX
Copy link
Member

@nvnieuwk: reponse in Slack

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants