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

"No GitHub API authentication" error #399

Closed
tomjoht opened this issue Jan 27, 2017 · 15 comments

Comments

@tomjoht
Copy link

@tomjoht tomjoht commented Jan 27, 2017

Before submitting an issue, please be sure to

This issue affects

  • The site generated by GitHub Pages
  • Building sites locally

What did you do (e.g., steps to reproduce)

Add this into the Gemfile:

source "https://rubygems.org"

gem 'github-pages', group: :jekyll_plugins

Run bundle update and bundle exec jekyll serve.
Make a small edit to a file.
When Jekyll auto-rebuilds, an error appears in the Terminal that says "GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data."

What did you expect to happen?

I did not expect that Github Metadata error to appear.

Additional information

When I removed the Gemfile, the error went away. Since this is the only gem outside of Jekyll that I'm using in my project, I suspect the error has something to do with github-pages. That's why I'm filing an issue here.

I fixed the issue by following the resolution described here. This removed the error from occurring.

I just wanted to report this error in case there's something with the github-pages gem that is causing it.

@parkr

This comment has been minimized.

Copy link
Member

@parkr parkr commented Feb 16, 2017

Hey @tomjohnson1492! This is expected. The jekyll-github-metadata gem is automatically enabled for GitHub Pages builds (including builds using this gem locally). It pulls in information from the GitHub API, but first checks the environment for authentication, which is required for some API calls to return the data we want. It's a warning, not an error, so you should be good to ignore them locally. 👍

@parkr parkr closed this Feb 16, 2017
@SeanKilleen

This comment has been minimized.

Copy link

@SeanKilleen SeanKilleen commented Feb 16, 2017

@parkr I think the issue here is that it appears to break Jekyll's watch functionality.

In the scenario described here, which I'm also hitting, I have the following:

Repro

  • Setup the gemfile as described above
  • run bundle exec jekyll serve (which watches for changes and regenerates each time)
  • make a change to a file and save
  • See the "warning" errors

Expected behavior

The files are still generated on each change and we can ignore the errors.

Actual behavior

The jekyll pipeline is broken. The file changes are not actually processed, because jekyll perceives an error to have happened during generation.

In addition to the warning message, I see the following errors:

Error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
             Error: Run jekyll build --trace for more information.

Instead, we are required to force-quit jekyll and run bundle exec jekyll serve each time.

Does this help clarify the issue? If so, it would be awesome to open this up for a second look.

It's also possible that this may be a separate issue entirely; if so, I'm happy to create a new ticket.

Update: A workaround (sort of?)

The workaround described here and referenced above requires two environment variables, a cacert file download, and seemingly a restart of the PC.

I'll try this as a workaround and note it in my README if it works.

Alternatively, is there a way we can disable this gem or functionality locally? I apologize for jumping in with a lack of familiarity on the structure of the project (a project which I appreciate on a daily basis, btw -- thank you!)

@coin8086

This comment has been minimized.

Copy link

@coin8086 coin8086 commented May 4, 2017

I have the same problem with the new version of github-pages (136) on jekyll (= 3.4.3). It breaks the common dev flow locally, that is the convenient edit-and-refresh way. So I hope it will be fixed soon.

@asnowfix

This comment has been minimized.

Copy link

@asnowfix asnowfix commented May 16, 2017

The work-around described above does not work for me. I am using a GitHub Enterprise instance & tried using a personal access token generated by GHE & a one generated by GH.com. None worked & I am still getting the error message at each refresh:

      Regenerating: 1 file(s) changed at 2017-05-16 12:27:51 ...error:
             Error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
             Error: Run jekyll build --trace for more information.

Despite the hint above, $ jekyll build --trace --watch does not give anything more useful:

      Regenerating: 1 file(s) changed at 2017-05-16 12:25:13 ...error:
             Error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
             Error: Run jekyll build --trace for more information.
@asnowfix

This comment has been minimized.

Copy link

@asnowfix asnowfix commented May 16, 2017

Fixed my issue (not saying it is yours) by adding...

github: [metadata]

...to _config.yml

@whizzzkid

This comment has been minimized.

Copy link

@whizzzkid whizzzkid commented May 18, 2017

fix by @asnowfix works :) thanks 👍

@abhishekp1996

This comment has been minimized.

Copy link

@abhishekp1996 abhishekp1996 commented May 20, 2017

A ton thanks to @asnowfix
The fix works very well.

I need to point out, add the code as it is. [metadata] will be automatically pulled by the generator.

achariam added a commit to achariam/achariam.github.com that referenced this issue May 31, 2017
@fgreve

This comment has been minimized.

Copy link

@fgreve fgreve commented Jun 4, 2017

Thanks to @asnowfix

@super456

This comment has been minimized.

Copy link

@super456 super456 commented Jul 22, 2017

@asnowfix
I'm very grateful to you !😄

@john20xdoe

This comment has been minimized.

Copy link

@john20xdoe john20xdoe commented Jul 29, 2017

as per @asnowfix fix, this results in a missing site.title (blank values?). but other wise the site was being served locally successfully.

fkromer added a commit to fkromer/design-pattern-references that referenced this issue Aug 8, 2017
"No GitHub API authentication could be found"
github/pages-gem#399 (comment)
crandmck added a commit to expressjs/expressjs.com that referenced this issue Aug 17, 2017
@wrschneider

This comment has been minimized.

Copy link

@wrschneider wrschneider commented Sep 17, 2017

thanks @asnowfix, this was driving me crazy.

@karamfd

This comment has been minimized.

Copy link

@karamfd karamfd commented Sep 18, 2017

@asnowfix Your solution is working perfectly for me as well. Thank you very much 😃

goxcif added a commit to goxcif/goxcif.github.io that referenced this issue Oct 25, 2017
@troccoli

This comment has been minimized.

Copy link

@troccoli troccoli commented Nov 17, 2017

Thank you @asnowfix . Worked for me too.

@seanlerner

This comment has been minimized.

Copy link

@seanlerner seanlerner commented Jan 28, 2018

@asnowfix solution didn't work for me.

I ended up generating a token and putting it in my env:

Generate token: https://github.com/settings/tokens

Run:

JEKYLL_GITHUB_TOKEN=<your token> jekyll serve

Or you can add to your shell config file:

#  .zshrc, .bashrc or .bash_profile

export JEKYLL_GITHUB_TOKEN=<your token>

Then in terminal:

source ~/.zshrc
joeyquarters added a commit to joeyquarters/joeyquarters.github.io that referenced this issue Mar 29, 2018
pralitp added a commit to JGCRI/gcam-doc that referenced this issue Jun 14, 2018
Whispres added a commit to Whispres/whispres.github.io that referenced this issue Jul 2, 2018
Error Fix
Following suggestions to resolve this [issue](github/pages-gem#399).
stevieoberg added a commit to stevieoberg/stevieoberg.github.io that referenced this issue Jul 31, 2018
stevieoberg added a commit to stevieoberg/stevieoberg.github.io that referenced this issue Jul 31, 2018
nixilla added a commit to chgst/chgst.github.io that referenced this issue Sep 11, 2018
jameswilson added a commit to jameswilson/jameswilson.github.io that referenced this issue Oct 22, 2018
jameswilson added a commit to jameswilson/jameswilson.github.io that referenced this issue Oct 22, 2018
laukstein pushed a commit to laukstein/lea.laukstein.com that referenced this issue Dec 12, 2018
GitHub Metadata: Error processing value 'baseurl':
             ERROR: YOUR SITE COULD NOT BE BUILT:
                    ------------------------------------
                    No repo name found. Specify using PAGES_REPO_NWO environment variables, 'repository' in your configuration, or set up an 'origin' git remote pointing to your github.com repository.

Related issues
github/pages-gem#399
jekyll/jekyll#4705
@asbjornu

This comment has been minimized.

Copy link

@asbjornu asbjornu commented Jan 2, 2019

For me, the simple solution was to create a personal access token (I only checked the public_repo scope as the repository is public), add it to an .env file in the repository like this:

JEKYLL_GITHUB_TOKEN=<personal access token>

And then added the dotenv gem to my Gemfile as such:

gem "dotenv"

After a bundle install, Jekyll now serves the site warning free with JEKYLL_GITHUB_TOKEN all set.

dleidert added a commit to dleidert/dleidert.github.io that referenced this issue Mar 3, 2019
Try to fix:

   GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.

github/pages-gem#399 (comment)
adrienjoly added a commit to adrienjoly/cours-nodejs that referenced this issue Mar 9, 2019
jlacomis added a commit to squaresLab/squaresLab.github.io that referenced this issue Aug 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.