-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Have you read the RFC docs?
- Yes, I have read and understood the RFC docs
Summary
Instead of GitFlow, we should adopt Trunk-Based Development.
A source-control branching model, where developers collaborate on code in a single branch called ‘trunk’, resist any pressure to create other long-lived development branches by employing documented techniques. They therefore avoid merge hell, do not break the build, and live happily ever after.
Champion
Background & Motivation
An example where GitFlow is confusing and doesn't help the developer. nf-core/bamtofastq#126
It ends up creating a lot of extra noise, and work for the developer and review fatigue of PRs that aren't actually making changes and are just a git ceremony.
Issues:
- Release bottlenecks: Multiple approval layers between dev and master slow feature delivery
- Contributor confusion: dev functions as the de facto main branch while master remains the official default
- Maintenance burden: Managing three branches across 100+ pipelines creates substantial overhead
Scientific Software Alignment
- Lower barriers for academic contributors who may have limited version control experience
- Faster validation of scientific methods through continuous integration
- Improved reproducibility tracking with a single source of truth
- Better alignment with container-based workflows increasingly adopted in bioinformatics
This will allow:
- Pipeline releases are created more frequently and aren't held up by "dev => master" review requests, template updates, and module version updates.
- We can bump the dev reviews up to 2 people to increase the actual stringency of the reviews and not rely on a few people to review thousands of lines before a release can be cut.
- Avoid merging master => dev and other back-and-forth git syncs that are confusing.
Goals
nextflow run nf-core/sarek -profile testworks without-r masteror a revision locally for users.- Remove the dev and master branches and migrate to
mainbranches
Non-Goals
- Implement the new review rules to merge to main.
- Decide who can cut a release.
References
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status
