2023-09-29 10:18:10 -07:00
|
|
|
# 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`)
|
2023-10-15 11:25:19 -07:00
|
|
|
- Update aur package
|
|
|
|
|
|
|
|
Test `default.nix` with
|
|
|
|
``sh
|
|
|
|
nix-build -E 'let pkgs = import <nixpkgs> { }; in pkgs.callPackage ./default.nix {}'
|
|
|
|
``
|