Improve Git flow on this project #87
Labels
No labels
blocked
duplicate
needs
approval
needs
criteria
needs
estimate
needs
tests
question
step
doing
step
review
step
testing
step
todo
step
uat
type
admin
type
alert
type
bug
type
change
type
defect
type
dependencies
type
epic
type
idea
type
incident
type
investigation
type
spike
type
story
won't fix
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
RabbitLabs/droplet-next#87
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Define and implement a consistent Git branching model for Droplet: integrate features on
develop, ship production fixes from the production line, cutrelease/*branches for staging cycles, restrict staging deployments to release/hotfix lines, and require feature flags for in-progress user-facing work.Acceptance Criteria
AS a contributor
GIVEN I am starting new feature work
WHEN I create a working branch
THEN it is based on
developand named with afeature/prefix (e.g.feature/restructure)AS a contributor
GIVEN I need an urgent production fix
WHEN I create a working branch
THEN it is based on the production line branch and named with a
hotfix/prefixAS a release owner
GIVEN completed work on
developshould be staged and testedWHEN we begin a staging cycle
THEN a
release/*branch is cut fromdevelopfor hardening and QA before productionAS CI/CD
GIVEN a change is pushed to the repository
WHEN the branch matches
release/*orhotfix/*THEN the staging deployment runs
AS CI/CD
GIVEN a change is pushed to the repository
WHEN the branch is
developor the production line branchTHEN the staging deployment does not run
AS a developer merging user-visible behaviour
GIVEN feature work is integrated before it is ready for general use
WHEN the change is on
develop(or otherwise shared)THEN access to that behaviour is controlled by a feature flag until explicitly enabled for staging/production
AS a new contributor
GIVEN I need to follow the team workflow
WHEN I read repository documentation and open a pull request
THEN the branching rules, release/hotfix process, deployment triggers, and feature-flag expectations are documented and reflected in PR checklists
Notes
develop,main,release/0.1.0, plus activefeature/*work.developfor features; production line for hotfixes; stage deploy only onrelease/*andhotfix/*; feature flag per feature; cut release when ready to stage.Open decisions
See the latest comment from Smithy-bot — production branch naming, staging deploy mechanism, feature-flag standard, and deliverable scope need confirmation before criteria are final.
Planning questions (needs/criteria)
I drafted acceptance criteria on the issue body from your bullets. A few decisions are ambiguous from the repo state alone — please reply here so I can finalize criteria and move to needs/estimate.
Production branch name — The issue text says
master, but this repo’s protected production branch ismain(nomasterbranch). Should the flow usemain, should we rename/createmaster, or ismasterjust shorthand for the production line?Staging deployment — What exactly is “deploy stage”? (Forgejo Actions workflow, external CD, manual deploy, etc.) I did not find workflow definitions under
.forgejo/workflowsonfeature/restructure. Is there an existing pipeline/environment URL this issue should wire up, or is adding CI part of the deliverable?Deliverable scope — Should “done” include documentation + PR templates only, or also branch protection rules and CI
on.pushbranch filters?Feature flags — What mechanism should we standardize on (e.g.
Microsoft.FeatureManagement, appsettings/env flags, other)? Must every user-facing story use a flag, or only work that ships incomplete behinddevelop?Hotfix merge-back — After a
hotfix/*ships to production, should it be merged back intodevelopand any openrelease/*branches?Release branch convention — Confirm naming (
release/{semver}only) and who cuts the branch; after staging sign-off, does the release merge to the production line only, or production + back-merge todevelop?Once these are answered I’ll tighten the acceptance criteria, remove the question label, re-assign Smithy-bot, and advance to needs/estimate.