Git Commit and Workflow Changes #39
MapleWheels
started this conversation in
General
Replies: 1 comment
-
Also, for context on write-access: https://stackoverflow.com/questions/38864405/how-to-restrict-access-to-the-master-branch-in-git |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Tagging: @Torca2001 @Mannatwo @PeasantFoundry
In an effort to expand and standardize the development process. I am proposing we implement something akin to the Champion System, this system is designed to create accountability and flexibility in a volunteer work environment while also making sure we're on the same page:
Copy-pasta of my Discord message:
The process I would recommend based on my experience is;
Git Structure:
Git Flow
This git should have 3 base branches:
dev
: This branch is where all new features, general bugfixes and changes are made/PR'd to.testing
: This branch acts as the playtest version of the branch. Any balance changes and hotfixes are made here and arerebase
d intodev
. This allows us to create a stable version working off of this branch.main
(aka release): This branch exists as what will be released on Steam Workshop/Github Releases (if we ever do them).Git Repo Authority/Process
Author
: @PeasantFoundry (Hadrada).-- Full permissions, can do anything.
Developers
: Everyone else accepted by @PeasantFoundry as a primary dev member.-- Allowed to accept PRs to the
dev
branch only. This will allow fast iterations in development without requiring largerebase
andmerge
from PR contributors due to delays in accepting PRs (PR becomes stale).As Hadrada is busy, it would become his job to instead make sure that the
dev
branch is in a state where he feel's that he's happy with it before merging it withtesting
(creative control), while still allowing other developers to work on the mod actively.Champion/Development System:
Part 1 : Discovery & Discussion
-- Adding to the above, we try to isolate this feature's codebase changes as much as reasonable.
Part 2 : Work Assignment and Submission
Developer
or community contributor).Developer
and rejected or accepted.3b. If a Champion wishes to abandon, they have to make a post stating why and the branch the development was occurring on. This will allow the feature to be marked as
open
so another Champion can volunteer to complete it and work off of the existing branch.Part 3 : Mod Release Planning
dev
branch (usually coincides with a few days before a Luatrama or Barotrauma update).dev
branch completes work on accepted PRs as necessary.dev
gets pulled intotesting
by @PeasantFoundry .testing
gets more bug fix testing and balance changes.-- Changes are pulled into
dev
(merge/rebase) by anyDeveloper
.-- All changes in
testing
are either made or pre-approved by @PeasantFoundry .-- QC branch changes (bugfix, gameplay balancing, etc.). also follow the Champions+System but is much looser (it's easier for the person familiar with the code/mechanic to help fix it).
This also lets you separate unit tests, CI/CD by branch.
dev
will only get unit testing,testing
will also have full integration tests and end-to-end tests.Tell me what you guys think.
Beta Was this translation helpful? Give feedback.
All reactions