Skip to content

Automation of Getting Started page generation

Andrey Talman edited this page Jan 3, 2023 · 4 revisions

Context

The generation of the release matrix on get started locally page is fully automated. This is used when adding new builds to PyTorch nightly and PyTorch OSS release. Please use this guide if you want to perform an update.

Automation Workflow

Blank diagram (2)

Workflow responsible for automation is update-quick-start-module.yml. The update process assumes following workflow:

  • update-quick-start-module.yml will call generate_binary_build_matrix.yml for every Operating System we support and for Nighlty and Release channel. This workflow returns the installation instructions to be used for each case. Please refer to wiki for more information.
  • update-quick-start-module.yml will call call gen_quick_start_module.py script to generate new published_versions.json which contains the installation matrix and used as a source to quick-start-module.js. And and new quick-start-module.js which is responsible for display of the matrix.
  • update-quick-start-module.yml will post a PR example with changes generated in previous step. Please note: If there are no changes between what is already on GitHub and newly generated files, the PR will not be posted. Also if there are any failures during new file generation or PR creation, the GutHub issue with link to a failure will be created.
  • Validation workflows for nightly and release are started and executed on the PR example posted on previous step. The validation is done by validate-quick-start-module.yml workflow
  • User should inspect the PR example, look for any failures in validation jobs and address them. Also open and visually inspect Netlify deployment to make sure there are no errors and website looks correct.
  • User approves the PR and deploys the changes by merging the PR

Adding new configuration to a matrix.

Please follow these steps in order to modify the release matrix.

  1. Modify generate_binary_build_matrix.py script. The Matrix and installation instructions are managed by generate_binary_build_matrix.py script. Which contains supported Python, Cuda, ROCm configurations. All changes with new configuration should be posted the via new PR creation. Here is an example of such PR.
  2. After the PR is merged. Start update-quick-start-module.yml workflow. This should start the automation workflow above.
Clone this wiki locally