XREF: https://github.com/rapidsai/build-infra/issues/380
We need a shared workflow for orchestrating how we push API docs to docs.nvidia.com using the lower-level publish-docs shared action.
My current understanding is:
- Pre-reqs:
- We build and push docs to the RAPIDS docs S3 bucket on merge, typically in a
build.yml workflow.
- Some repos push multiple sets of docs at once, e.g.
cudf pushes cudf, dask-cudf and libcudf. This workflow will handle one set of docs at a time. Call it once per doc set you want to publish. We'll use {project} as that doc set identifier for this discussion.
- We grab the current
{version} of the docs being built from the VERSION file in the root of the repo. We can do this with the rapids-version-major-minor gha-tools command.
- We can download the
{version} of the docs from the rapidsai docs bucket for some given docs {project} identifier, because those docs have already been build and pushed up by the time this workflow is called, typically in a build-docs workflow.
- Publishing to docs.nvidia.com:
- All builds push that
{project}'s {version} of the docs to docs.nvidia.com/{project}/{version}
- Builds on
main push {version} to docs.nvidia.com/{project}/nightly
- Builds on
release/* need to check {version} against a map to determine a {tag}, e.g. {"26.10": "stable", "26.08": "legacy"}, and then push {version} to docs.nvidia.com/{project}/{tag}
- The tag map can be stashed anywhere. For
rapidsai repos, this can be an org-scoped variable. For NVIDIA repos, it'll be a repo-scoped variable.
- If
{tag} is stable, we also push to ``docs.nvidia.com/{project}/latest`
Please correct / clarify this thinking so we can bake it in.
XREF: https://github.com/rapidsai/build-infra/issues/380
We need a shared workflow for orchestrating how we push API docs to docs.nvidia.com using the lower-level publish-docs shared action.
My current understanding is:
build.ymlworkflow.cudfpushescudf,dask-cudfandlibcudf. This workflow will handle one set of docs at a time. Call it once per doc set you want to publish. We'll use{project}as that doc set identifier for this discussion.{version}of the docs being built from theVERSIONfile in the root of the repo. We can do this with therapids-version-major-minorgha-toolscommand.{version}of the docs from therapidsaidocs bucket for some given docs{project}identifier, because those docs have already been build and pushed up by the time this workflow is called, typically in abuild-docsworkflow.{project}'s{version}of the docs todocs.nvidia.com/{project}/{version}mainpush{version}todocs.nvidia.com/{project}/nightlyrelease/*need to check{version}against a map to determine a{tag}, e.g.{"26.10": "stable", "26.08": "legacy"}, and then push{version}todocs.nvidia.com/{project}/{tag}rapidsairepos, this can be an org-scoped variable. ForNVIDIArepos, it'll be a repo-scoped variable.{tag}isstable, we also push to ``docs.nvidia.com/{project}/latest`Please correct / clarify this thinking so we can bake it in.