-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #51 from microbiomedata/git-versioning
Add Git Versioning Docs
- Loading branch information
Showing
2 changed files
with
77 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
# NMDC_NOTEBOOKS Release Guide | ||
|
||
## Introduction | ||
The following is a set of guidelines for generating releases for nmdc_notebooks. This documentation is solely for the maintainers of the nmdc_notebooks repo. A release is generated within two weeks after an [nmdc-schema release](https://github.com/microbiomedata/nmdc-schema) if there have been pull requests merged into main. If there are no changes on main, then no release is generated. | ||
|
||
## Preparing for Release | ||
|
||
### Versioning Scheme | ||
This project adheres to the semantic versioning as outlined by [semver.org](https://semver.org/): MAJOR.MINOR.PATCH | ||
* Patch: e.g. 1.0.1 -> 1.0.2 | ||
* Indicates bug fixes and trivial updates. | ||
* Fixing notebook bugs or typos are examples of patch-level changes. | ||
* Minor: e.g. 1.0.2 -> 1.1.0 | ||
* Indicates change to functionality but is still backwards compatible. | ||
* Examples include functionality changes, updates, adding new functionality, and potentially removing functionality depending on the degree of it. | ||
* Adding new notebooks and documentation and adding functionality to notebooks (such as adding a new visual, etc.) are examples of minor changes. | ||
* Major: e.g. 1.1.0 -> 2.0.0 | ||
* Changes the introduce breaking functionality and are not backwards compatible. | ||
* Examples include removing deprecated code or introducing a new architecture. | ||
* Major updates to the notebooks architecture (such as major api endpoints and schema traversals) and removing notebooks are considered major changes. | ||
|
||
## Release Steps | ||
Use [Github's documentation](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository) to create a release by clicking on `Releases` on the repo's main page. | ||
1. Make a new tag when drafting a new release that follows the convention `v.1.0.0`. | ||
2. Set the target branch to `main`. | ||
3. Set the previous tag as the previous release number. e.g. `v.1.2.0`. | ||
4. Generate release notes so a list of all the merge requests and contributors auto-populates. | ||
5. Save as draft release until ready to release or publish if ready. | ||
* Recommend saving as draft while updating the `CHANGELOG.md`. | ||
|
||
## Post Release Steps | ||
* After publishing, update the `CHANGELOG.md`, create a PR with changelog updates, review, and merge. | ||
|
||
### Branching Strategy to Update CHANGELOG.md | ||
A release branch is a branch created for preparing for the release. This is the branch used to update the CHANGELOG.md that goes with the release. | ||
* A release branch should be named as `release-<version>`. For example `release-v1.1.0`. | ||
* Update any release documentation (i.e. the CHANGELOG.md) on this branch to prepare for a release. | ||
* Create a PR when ready for release. | ||
|
||
### Updating the CHANGELOG.md | ||
The `CHANGELOG.md` is formatted based on [Keep a Changelog](http://keepachangelog.com/). | ||
The change log is meant to be easily understood by humans. It is formatted with the types of changes as subheadings for each release: | ||
* Added | ||
* Changed | ||
* Deprecated | ||
* Removed | ||
* Fixed | ||
* Security | ||
The newest release should be at the top of the `CHANGELOG.md` with older releases below. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Change Log | ||
All notable changes to this project will be documented in this file. | ||
|
||
The format is based on [Keep a Changelog](http://keepachangelog.com/) | ||
and this project adheres to [Semantic Versioning](http://semver.org/). | ||
|
||
## [v1.0.0] - 2024-07-08 | ||
|
||
This is the first release of NMDC Notebooks. This release includes all | ||
initial work. | ||
|
||
### Added | ||
- Two Python and R notebooks: | ||
- NEON Soil Metadata | ||
- Bio-Scales Biogeochemical MetaData | ||
- One Python only notebook: | ||
- NEON Soil Microbial Community Composition | ||
- README.md and env requirements | ||
- Contributing Guidelines | ||
- Colab and static notebook viewing functionality | ||
- ReviewNB functionality to review notebooks | ||
|
||
### Changed | ||
|
||
### Fixed | ||
|
||
|