Skip to content

Commit

Permalink
release: add Trunk based Development Workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Samk13 authored and fenekku committed Aug 20, 2024
1 parent 298635c commit b3a5063
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion docs/maintenance/release-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ git checkout upstream/master
```
for the version number see the section about semantic versioning
```
git tag vX.Y.Z
git tag vX.Y.Z
git push upstream vX.Y.Z
```

Expand All @@ -146,3 +146,14 @@ only need to replace ``master`` with ``maint-x.y`` branches.
Be aware that when the independent modules are released, they will be
picked up immediately by new InvenioRDM installations. This should not be
an issues since the releases MUST be backward compatible.

## Trunk based Development Workflow

InvenioRDM follows [Trunk-Based Development](https://trunkbaseddevelopment.com/) on the main branch (`master`) of all its modules. Changes in `master` usually won't have an out-of-the-box backwards-compatibility assurance. Things might break, but we'll fix them ASAP, since we want to be able to develop reliably.

Stable releases are being maintained under their equivalent `maint` branches. For example, `v12.0.x` is maintained on the `maint-v12.x` branch of `invenio-app-rdm`. Those releases receive bug fixes following SemVer, e.g., `v12.0.1`, by backporting (usually via cherry-picking) the fixes from the `master` branch into the `maint` branch.

Occasionally, if we see features in `master` that the community agrees should be in the stable branches, we can organize efforts to backport them using a minor version bump in the stable release (e.g., `v12.1.x`). To qualify for such minor version bumps, the changes adhere to the following assurances:
- The new features **MUST** be disabled by default using config feature flags
- If an instance doesn't enable or use the new features, it **MUST** still work
- If an instance wants to enable or use the new features, there **MAY** be some migration/upgrade recipes required to be run

0 comments on commit b3a5063

Please sign in to comment.