From d9730fd6992895de4f5a307ffbfa1df8d9e54051 Mon Sep 17 00:00:00 2001 From: Mark Date: Fri, 29 Sep 2023 10:18:10 -0700 Subject: [PATCH] Added contrib guide --- CONTRIBUTING.MD | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 CONTRIBUTING.MD diff --git a/CONTRIBUTING.MD b/CONTRIBUTING.MD new file mode 100644 index 0000000..5432145 --- /dev/null +++ b/CONTRIBUTING.MD @@ -0,0 +1,31 @@ +# Contribution guidelines for Daisy + + +## Pull requests +All PRs should merge to `dev`. See "branching" below. + + +## Versioning +Daisy uses [semantic versioning](https://semver.org/), which looks like `maj.min.patch`. In short: + - `maj`: Incremented on large, incompatible changes + - `min`: Incremented on new features + - `patch`: Incremented on bugfixes + +Whenever one of the above fields is incremented, all sub-fields are reset to zero. When `min` is incremented, `patch` is set to zero. + + +## Branching +Daisy uses a branch model much like the one described [here](https://nvie.com/posts/a-successful-git-branching-model). + - `master`: 1 commit = 1 release. This is always a merge comit from `dev`, and is always tagged with a version. + - `dev`: main development branch. Never deleted. Most work happens here. + - `features`: temporary branches pulled from `dev` and merged to `dev` for larger features. + - Always merge with git's `--no-ff` option for a more detailed history. + + +## Releases +What to do + - Merge into `master` (`git merge --no-ff dev`) + - Tag merge commit on `master` (`git tag -a v1.0.0 -m "Version 1.0.0"`) + - `cargo publish` + - Update web demo & pull server (`make docker`) + - Update aur package \ No newline at end of file