servvai-event-booking
Overview
This document outlines the rules and regulations for commits, branching, merging, and release management for the coderisetechnologiesinc/servvai-event-booking repository.
Branching Model
The repository uses two primary branches:
-
main: The production-ready branch containing stable, released code. No direct commits are allowed to
main. Only administrators can merge pull requests (PRs) intomain. -
develop: The integration branch where all feature development and bug fixes are merged. Contributors work on feature branches forked from this branch.
Contribution Workflow
1. Forking and Feature Branches
- Fork the Repository: Contributors must fork the
coderisetechnologiesinc/servvai-event-bookingrepository to their own GitHub account. - Create a Feature Branch:
- Clone your fork locally:
git clone https://github.com/<your-username>/servv.git cd servv
- Create a feature branch from
develop:git checkout develop git checkout -b feature/<feature-name>
- Example:
feature/add-user-authorfeature/fix-login-bug.
- Clone your fork locally:
- Make Changes:
- Implement enhancements or fixes in your feature branch.
- There are no restrictions on commit message formats. Contributors can use any descriptive message (e.g., "Add user authentication", "Fix login bug").
- Commit changes:
git add . git commit -m "Your commit message" git push origin feature/<feature-name>
2. Pull Request to develop
- Create a Pull Request (PR):
- Push your feature branch to your fork and create a PR from
feature/<feature-name>tocoderisetechnologiesinc/servv:developvia GitHub. - Provide a clear PR description detailing the changes and purpose.
- Push your feature branch to your fork and create a PR from
- Review Process:
- The repository maintainers will review the PR.
- Address any feedback.
- Merge to
develop:- Once approved, maintainers will merge the PR into
develop. - The feature branch can be deleted after merging.
- Once approved, maintainers will merge the PR into
3. Release Process (Admin Only)
-
Create PR from
developtomain:-
Only administrators can create PRs from
developtomain. -
Create a PR from
developtomainvia GitHub.
-
-
Assign Release Label:
- During PR creation, the admin must assign one of the following labels to indicate the type of release:
release:major: Increments the major version (e.g.,v1.0.0→v2.0.0). Used for breaking changes or major features.release:minor: Increments the minor version (e.g.,v1.0.0→v1.1.0). Used for non-breaking features.release:patch: Increments the patch version (e.g.,v1.0.0→v1.0.1). Used for minor bug fixes.release:hotfix: Increments the patch version (e.g.,v1.0.0→v1.0.1). Used for urgent fixes (treated as a patch-level update).
- Example: For a hotfix, add the
release:hotfixlabel.
- During PR creation, the admin must assign one of the following labels to indicate the type of release:
-
Merge to
main:- The admin merges the PR into
mainafter review. - The
release.ymlworkflow automatically:- Bumps the version based on the label (e.g.,
v1.0.0→v1.0.1forrelease:hotfix). - Updates
CHANGELOG.mdwith the last 20 non-merge commits since the last tag (or all commits if no tags exist). - Creates a GitHub release with the new version tag (e.g.,
v1.0.1). - Pushes the updated
CHANGELOG.mdtomain.
- Bumps the version based on the label (e.g.,
- The admin merges the PR into
4. Changelog Synchronization
- When
CHANGELOG.mdis updated and pushed tomain, thesync-docs.ymlworkflow triggers automatically. - This workflow copies
CHANGELOG.mdtocoderisetechnologiesinc/servv-docsunderdemo_docs/docs/changelog.mdand commits the change with a message like "Update changelog from v1.0.1". - Ensure the following repository secrets are set:
GIT_USERNAME:coderisetechnologiesinc.GH_TOKEN: A Personal Access Token (PAT) withreposcope forservv-docs.
Commit and Merge Rules
- No Direct Commits to
main:- Direct commits to
mainare prohibited for all contributors, including admins. - All changes must go through a PR from
developtomain.
- Direct commits to
- Commit Message Freedom:
- There are no restrictions on commit message formats in feature branches or
develop. - Use clear, descriptive messages to aid reviewers (e.g., "Add user authentication endpoint", "Fix null pointer in login").
- There are no restrictions on commit message formats in feature branches or
- Admin Responsibilities:
- Only admins can create and merge PRs from
developtomain. - Admins must assign the correct release label (
release:major,release:minor,release:patch,release:hotfix) during PR creation.
- Only admins can create and merge PRs from
- Versioning:
- The project uses 3-digit versioning (
vX.Y.Z). - The
release.ymlworkflow automatically bumps the version based on the PR label:major:X+1.0.0minor:X.Y+1.0patch:X.Y.Z+1hotfix:X.Y.Z+1(treated as a patch update)
- If no tags exist, the default tag is
v1.0.0.
- The project uses 3-digit versioning (
Example Workflow
- Contributor:
- Fork
coderisetechnologiesinc/servv. - Create
feature/add-loginfromdevelop. - Commit changes:
git commit -m "Add login functionality". - Push and create PR to
develop.
- Fork
- Maintainer:
- Review and merge PR into
develop.
- Review and merge PR into
- Admin:
- Create PR from
developtomain(e.g.,release/v1.0.1). - Add
release:patchlabel. - Merge PR.
- Create PR from
Last updated: September 29, 2025, 02:18 PM IST