NVIDIA-Merlin / NVIDIA-Merlin/Merlin
[INF] Update default references to main branch to latest release
@oliverholworthy is already working on this.
Since May 3, 2023.
- Dominant language
- Python
- Stars
- 907
- Forks
- 129
- PR merge metrics
- No merged PRs in 30d
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
mainto 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
stablebranch 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:
- https://github.com/NVIDIA-Merlin/models/pull/1080
- https://github.com/NVIDIA-Merlin/Transformers4Rec/pull/694
- https://github.com/NVIDIA-Merlin/core/pull/310
- https://github.com/NVIDIA-Merlin/dataloader/pull/142
- https://github.com/NVIDIA-Merlin/systems/pull/341
- https://github.com/NVIDIA-Merlin/NVTabular/pull/1811
- https://github.com/NVIDIA-Merlin/Merlin/pull/965
Documentation
Add a latest or stable folder in the docs corresponding to the latest tagged release. As a replacement for the main branch.
- https://github.com/NVIDIA-Merlin/models/pull/1116
- https://github.com/NVIDIA-Merlin/Transformers4Rec/pull/710
- https://github.com/NVIDIA-Merlin/core/pull/322
- https://github.com/NVIDIA-Merlin/dataloader/pull/150
- https://github.com/NVIDIA-Merlin/systems/pull/353
- https://github.com/NVIDIA-Merlin/NVTabular/pull/1826
- https://github.com/NVIDIA-Merlin/Merlin/pull/995
- HugeCTR
Other
There may be some other references to the main branch that are not covered by the above
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.