python / release-tools

Scripts for making (C)Python releases
41 stars 34 forks source link

Separate source and documentation builds #120

Closed sethmlarson closed 7 months ago

sethmlarson commented 7 months ago

This PR separates the builds for the source artifacts and documentation into separate jobs. The primary motivation is that the docs builds require pulling many more (mostly unpinned) dependencies from PyPI and apt in order to generate the documentation whereas the source artifacts which have higher integrity requirements require far fewer, pinned, dependencies.

Originally when I looked at this problem it seems somewhat difficult because the docs builds and source builds shared a build script, but after running all of the current release streams I'm not sure why the script has the docs build step as a part of the source build step. All builds seemed to succeed without building the docs and source together.

If it's possible to remove the docs build from release.py --export then I can update the commit and merge this PR.

Closes #74

hugovk commented 7 months ago

For comparison, here's how the workflow looked before:

image

https://github.com/python/release-tools/actions/runs/8612609594

And after:

image

https://github.com/sethmlarson/release-tools/actions/runs/8839730786

sethmlarson commented 7 months ago

@hugovk Definitely don't want to keep the steps commented out, but how would you like to proceed on skipping the docs build? Perhaps adding a new option for --skip-docs? to release.py?

hugovk commented 7 months ago

Yep, --skip-docs sounds good for me.

sethmlarson commented 7 months ago

@hugovk Done in https://github.com/python/release-tools/pull/120/commits/cc7521788c2ad31f9935dff59560a1be6d99870e, I'll run the action again to verify it works.

EDIT: Action appears to have succeeded: https://github.com/sethmlarson/release-tools/actions/runs/8881230512