Description
The merlin repositories use the main
branch for development. Merging features into this branch before publishing a package from the release branches created.
Reducing the chances of people running or viewing the development version of our code will reduce the chance of errors surfacing from features that are not currently released.
Repository Default Branch
Motivation
Example notebooks are published alongside our code in each repository.
Initial exporation of Merlin packages often involves exploring the example notebooks. Which can happen via Google Colab (which has integration with GitHub (using the default branch unless changed via the branch drop-down). Or from a git clone.
When using the development branch, often the notebooks can result in errors due to enhancements or bug fixes that require unreleased Merlin code.
Proposed Change
Trial this with a couple of repositories first: Transformers4Rec, Merlin Models
- Change the default branch from
main
to the release branch corresponding to the latest release (e.g.release-23.02
)- GitHub doesn't have a mechanism to provide a different default branch for Pull Requests from the default branch used for viewing/cloning the repository.
- Creating a GitHub Actions Workflow to check that the base branch of a Pull Request is the development branch (currently
main
). Raising an error if not. With the option to skip this check with a particular label
- Creating a GitHub Actions Workflow to check that the base branch of a Pull Request is the development branch (currently
- GitHub doesn't have a mechanism to provide a different default branch for Pull Requests from the default branch used for viewing/cloning the repository.
Stable Branch
- Add a
stable
branch that get's set automatically to correspond with the latest release tag - Add Check for PRs to ensure they're configured with a base development branch ref. (For the case where this stable branch is used as the default of the repo)
Updates to repos with these two workflows:
- Add Workflows to check base branch and set stable branch models#1080
- Add workflows to check base branch and set stable branch Transformers4Rec#694
- Add workflows to check base branch and set stable branch core#310
- Add workflows to check base branch and set stable branch dataloader#142
- Add workflows to check base branch and set stable branch systems#341
- Add workflows to check base branch and set stable branch NVTabular#1811
- Add workflows to check base branch and set stable branch #965
Documentation
Add a latest
or stable
folder in the docs corresponding to the latest tagged release. As a replacement for the main
branch.
- Build docs for stable branch and make default models#1116
- Build docs for stable branch and make default Transformers4Rec#710
- Build docs for stable branch and make default core#322
- Build docs for stable branch and make default dataloader#150
- Build docs for stable branch and make default systems#353
- Build docs for stable branch and make default NVTabular#1826
- Build docs for stable branch and make default #995
- HugeCTR
Other
There may be some other references to the main branch that are not covered by the above