-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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: feature documentation for build.jobs
#9138
Conversation
The general idea of these changes is to walk the user through the build process itself while recommending/suggesting how to interact with that step in particular via the config file to extend its abilities. Besides, link to a different page where it's explained "how to use hooks" to customize the normal build process in case the regular build process is not enough. Decisions made: - Update "Build process" page (`build.rst`) to describe what happens behind the scenes in a general way - Link to config file keys on each step when makes sense a recommendation or a tip - Remove paragraph and sections that are not interesting for users (Docker images and where to find them) - Move "default versions of dependencies" to its own page since they are not one of the most important things users need to know about the build process immediately - Rename section "Build environment" to "Default environment variables" to make it clearer and use the keyword _environment variables_ that will provide more search results - Remove the "example in code" section since it's useful for regular users and it's harder to read than the steps themselves. I think it's more distractive than useful now - Move "Build resources" below the build process itself since the most importat part of this page is the build process ("Understanding what's going on") - Create a new page "Build customization" that explains how to extend the build process via `build.jobs` by mentioning all the possible hooks. Besides, it contains some common examples as a guide
We don't want to expose the exact commands to the users in the documentation. Besides, using jobs from the beginning is easier to understand `build.jobs` config key later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great refactor! I'm excited to ship this, as it's a great improvement. I did a bunch of copyediting, so sorry for the noise. Overall this is wondeful.
I think the main thing we need to address is standardizing what we call build steps, since we seem to be all over the place there.
docs/user/build-customization.rst
Outdated
Unshallow clone | ||
~~~~~~~~~~~~~~~ | ||
|
||
Read the Docs does not perform a full clone on ``checkout`` step to reduce network data and speed up the build process. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we document this anywhere? Would be useful to link if we do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we don't have documented that we do a shallow clone, no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a great addition! I've wanted a doc detailing the build process for a while now
Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> Co-authored-by: Anthony <aj@ohess.org>
Co-authored-by: Anthony <aj@ohess.org> Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com>
This is not required anymore. Users can do the same with `build.jobs.post_checkout`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some small edits, but looks good to me. We have a few areas we already need to come back to though, so should keep this work on our radar somewhere.
This looks great to me. 👍 on merging it soon. The new table display looks great -- the only thing I'd perhaps add is a user-facing breakdown of the build process terminology. That way we understand it, and users will hopefully be able to think about it a bit nicer. Not required, but might be good to get us & users on the same page. |
Co-authored-by: Anthony <aj@ohess.org>
Use glossary terms to explain what are "pre-defined build jobs" and "user-defined build jobs".
@ericholscher I added two more entries in the glossary and linked them when the term is introduced in the pages. I think we can improve the definition itself, but at least the structure is already created and easier to expand now. |
@ericholscher @agjohnson This PR is ready to be merged, IMO. Feel free to do it or to suggest any change you may have. |
Sounds good. Merging now, we can always improve it later, but this is a great improvement 🎉 |
The general idea of these changes is to walk the user through the build process
itself while recommending/suggesting how to interact with that step in
particular via the config file to extend its abilities.
Besides, link to a different page where it's explained "how to use hooks" to
customize the normal build process in case the regular build process is not enough.
Decisions made:
build.rst
) to describe what happens behind thescenes in a general way
images and where to find them)
of the most important things users need to know about the build process immediately
it clearer and use the keyword environment variables that will provide more
search results
it's harder to read than the steps themselves. I think it's more distractive
than useful now
part of this page is the build process ("Understanding what's going on")
process via
build.jobs
by mentioning all the possible hooks. Besides, itcontains some common examples as a guide
I think this is a good starting point and I like the result. I'd like feedback about how to expand the introduction of
build-customization.rst
page, in particular, to give a more descriptive scenario without introducing a lot of paragraphs 😄🤖 Rendered version:
Closes #9067