-
Notifications
You must be signed in to change notification settings - Fork 34
pktvisor Branch Workflow and Release Process
Shannon Weyrick edited this page Nov 15, 2021
·
2 revisions
pktvisor uses a modified Gitflow workflow.
- The source of truth for the version is the root CMakeLists.txt, which is semantic versioning plus an optional suffix.
- There are three special branches:
master,develop, andrelease. Note thatreleaseonly exist during release candidate cycle. - For in-repo development (not forks), development happens in ephemeral
feature/*branches, for examplefeature/FEATURE-NAMEorfeature/ISSUE-ID, which should be branched fromdevelop - For extra-repo development (forks), development can happen directly in
developbranch of the fork - Upon feature completion, a PR is created against the
developbranch; CI will integrate, test, and build packages. If CI is green and the PR is approved, the change lands intodevelopbranch. - Pushes to
developbranch will build and push packages (containers + AppImage) with the-developsuffix on the version, andlatest-developtag on docker. - When a new version is ready for release, a
releasebranch is created fromdevelop(or frommasterfor a maintenance release). Once branched,developmay bunch its version and continue to receive new features for the next version. - Pushes to
releasebranch will build and push packages (containers + AppImage) with the-rcsuffix on the version, andlatest-rctag on docker. - Once
releaseis fully prepared and tested, a PR is created againstmaster, and the release is merged. - Once
releaseis merged, any changes fromreleaseare merged back intodevelopand thereleasebranch is deleted. - Once in
master, the version should be updated to remove any version suffix, and the Build workflow is run manually to create the official artifacts with the final version number. The workflow will also officially pushlatesttags to docker hub. - Once official artifact(s) are created (esp. AppImage), a new Github Release is manually created with these artifacts, the change log is written, and the Release is published.
- Update pktvisor.com/download alias to point to latest release link on GitHub