-
-
Notifications
You must be signed in to change notification settings - Fork 19
Development release process
Kevin Ross edited this page Nov 16, 2020
·
4 revisions
(NOTE: edit/reorg this information later, I'm just trying to get important things written)
- Always work out of your own forked repository, on a branch that is not
master(avoid confusion) e.g.rosskevin/feature-xyz - Do not release code to the world (unless it is a private tester) that is not merged to
openvrmc/OpenVR-MotionCompensation/masterand tagged as a release - Always create a
releaseon https://github.com/openvrmc/OpenVR-MotionCompensation/releases from your commit when you are ready. You can mark it as apre-release - Release in a timely manner while you are familiar with changes. Familiarity with the change allows one to get it released, and perhaps patched to stability easier than waiting months and forgetting what changed. This is also the reason why PR descriptions are very important (and by propagation release notes)
- All code is merged to
openvrmc/OpenVR-MotionCompensation/mastervia a PR - Create a PR from our
user-repo/branch -> openvrmc/OpenVR-MotionCompensation/master. - The PR should contain bullet points regarding changes made. These bullet points will likely be suitable as some or all of the release notes when a release is created.
- A release can consist of one or more PRs
- Merge PRs quickly if possible to prevent problems for other developers (causing them to rebase). Rebasing is an unavoidable part of mutual development, but smaller, more frequent PRs/changes merged are generally preferable to large ones
- Use
semverto govern release numbering, information and rules here https://semver.org/. This is important as it is a fundamental to communication to a bigger community about stability, changes, etc - Always summarize (bullet points) changes in the release page for history
- Release notes should contain issue links to the PRs that are included
- Once PRs are merged, click
Draft a new releaseon https://github.com/openvrmc/OpenVR-MotionCompensation/releases - Set the version number, and always target
master. The only reason not to targetmasteris if you want to release a patch that you would like tracked as a tag and listed in the releases page. - Release title should be the same version number
- Copy bullet points from PRs included into the description, link to the PRs via number
- Attach the binary build files (compiled exe). The source tarball etc is automatically created at this tag
- Mark as a pre-release if below 1.0.0 or a tester release
- Publish