r-lib / remotes

Install R packages from GitHub, GitLab, Bitbucket, git, svn repositories, URLs
https://remotes.r-lib.org/
Other
331 stars 152 forks source link

Error: cannot open URL 'https://api.github.com/repos/xxx/yyy/contents/DESCRIPTION' #691

Closed hongooi73 closed 2 years ago

hongooi73 commented 2 years ago

I've seen this error in a couple of places now, while running CI/CD pipelines. The first is on R-Hub, and the second is with Github Actions.

https://builder.r-hub.io/status/Microsoft365R_2.3.3.tar.gz-7092d25930694650b1512d6268bf9b65#L136 https://github.com/RevolutionAnalytics/checkpoint/runs/4916498001?check_suite_focus=true#step:5:28

Has the Github API changed? I'm not bundling a PAT, as both repos are public.

gaborcsardi commented 2 years ago

As for GHA, I suggest you use the latest actions, which should fix this: https://github.com/r-lib/actions#releases-and-tags

For R-hub, you can supply GITHUB_PAT as an environment variables, but then keep the job ID private, because it it potentially printed in the logs.

hongooi73 commented 2 years ago

Hi Gabor,

I'm not sure how using the latest actions will change anything. The full script is here: https://github.com/RevolutionAnalytics/checkpoint/blob/master/.github/workflows/R-CMD-check.yaml

You can see that I'm just calling Rscript to install remotes and then run install_github. The only (R-specific) actions I use are setup-r and setup-pandoc.

Will Rhub be updated to fix this?

gaborcsardi commented 2 years ago

I'm not sure how using the latest actions will change anything.

The new actions are much better at everything, especially installing system requirements and packages. But if you don't want to switch, then you need to add your own GITHUB_PAT env var, e.g. like this:

https://github.com/r-lib/actions/blob/fff6ffb826f98069b90e308beffd771d1dbd534b/examples/check-release.yaml#L15

Will Rhub be updated to fix this?

No, you'll need to supply your own GITHUB_PAT, with the env_vars argument.

In any case, I am pretty sure that this is a GITHUB API rate limit, so we can't do much about it in remotes, so I'll close this issue.