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

Docs builds failing #2001

Closed
jaraco opened this issue Feb 16, 2020 · 6 comments · Fixed by #2002
Closed

Docs builds failing #2001

jaraco opened this issue Feb 16, 2020 · 6 comments · Fixed by #2002

Comments

@jaraco
Copy link
Member

jaraco commented Feb 16, 2020

Since #1981, the docs builds are failing due to 'bootstrap' not having been executed.

When builds were passing previously, they were passing because pip_install: false prevented any attempt to install the package.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

I can imagine a few approaches that would correct the situation:

  • restore the prior behavior where docs requirements aren't declared as metadata extras.
  • duplicately declare the docs requirements in the file, as before (and keep them in sync going forward).
  • enable implicit bootstrapping in setup.py.
  • find a hook in rtd that enables the bootstrapping step.

Those are in reverse order of my preference.

The latter two options are the only ones that would support building any docs that reference the source code. In other words, the first two options only work because they avoid the setuptools code base.

Option (4) is not readily viable, but might be through a custom builder.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

The custom build process only hooks into the clean and build steps. It doesn't affect the checkout/install aspects.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

In 1b85cac, I'm exploring option 3. I'm actually liking how much cruft that removes. I'm a little uneasy changing the install process at such an early state, but perhaps it's sufficient. If the tests pass and the docs build, I'm inclined to go with it.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

Looks like that approach isn't quite right.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

In this build, relying on jaraco.packaging 8.1, the issue is more apparent:

ValueError: ('Unexpected metadata output', 'Adding minimal entry_points.\nsetuptools\n45.2.0\nhttps://github.com/pypa/setuptools\nPython Packaging Authority\n')

Adding the implicit bootstrap step (with its output), sullies the clean output of setup.py --name.

@jaraco
Copy link
Member Author

jaraco commented Feb 16, 2020

After running into some rather complicated issues, I'm ready to abandon the implicit bootstrap technique. In particular, given the variety of supported invocations of setup.py, including pep517 where build_meta._BuildMetaBackend.run_setup invokes setup.py in-process, it proves tricky to ensure that the metadata is present at the proper time (the 'working set' has already been computed not including anything for setuptools, so even though the entry points are generated just in time, they're not necessarily available).

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.

1 participant