Skip to content

Branches restructuring #2041

@wyli

Description

@wyli

Is your feature request related to a problem? Please describe.

Currently, the MONAI repo has

  • master branch: accepting pull requests, new features and/or bug fixes -- full CI/CD tests, nightly tests.
  • releases/* branch: branching off from the master, no direct commits allowed -- releasing/packaging related tests
  • contributors' pull request forks: code change proposals -- quick pre-merge tests.

This approach is simple and efficient. But it has the problem that there is no place for the new features that are scheduled beyond the current release (they only live in some of the contributors' forks).

Describe the solution you'd like

As we discussed in the dev meeting, we'd like to follow a more rigorous releasing approach.

  • main branch: for production-ready features, milestone releases -- releasing/packaging related tests
  • dev branch: for all new features -- full CI/CD, nightly tests
  • releasing/* branch: a subset of new features from dev, to be released, could have additional bug fixes for releasing
  • forks of the contributors: new feature proposals -- quick pre-merge tests

So, the new workflow would be:
The contributors add new features to dev via pull request.
The maintainers plan and build a releasing/* branch (from dev).
The maintainers merge the production-ready releasing/* to main and tag main for a new milestone.
The users download and use the package built from the new release upon main.

Tasks:

  • create a dev branch with proper CI/CD
  • double-check the offline backup of the repo
  • conclude existing PRs
  • create a main branch for milestones
  • update contributors guide
  • revise the CI/CD workflows
  • deprecate the master branch
  • deprecate the releases/* they are temporary branches, tagged commits are available at main

cc @ericspod

update:
Screenshot 2021-04-28 at 19 12 33

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions