Do you want to contribute to OpenShock? We'd love to have you! Here are some ways you can help:
- Please do not report security vulnerabilities here. Instead, please report them to ...
-
Default Branch: The
master
branch serves as our primary branch, designated for staging releases. Maintaining stability in this branch is a priority. -
Trunk-Based Development: Our repository follows the
trunk-based development
strategy. This entails using feature branches for all new development, which are subsequently merged into themaster
branch upon completion. -
Branch Naming Conventions:
- Bug fixes:
bugfix/bug-name
. - Features:
feature/feature-name
. - Housekeeping tasks:
chore/chore-name
. - Hotfixes
hotfix/bug-name
. - Documentation:
docs/document-name
. (This applies toREADME.md
,CONTRIBUTING.md
,LICENSE
, etc...)
- Bug fixes:
-
Pull Requests:
- Pull requests are used to merge feature, bug fixe, and chore branches into the
master
branch. - A minimum of one other developer must review the pull request before merging.
- All pull requests must pass the automated tests before being merged.
- All pull requests must be squashed and merged.
- Pull requests are used to merge feature, bug fixe, and chore branches into the
-
Hotfixes:
- Hotfixes will always be branched off the latest tag.
- Hotfixes do not require a pull request, but needs to be merged by a project maintainer.
- The hotfix workflow is as follows:
- Create a new branch named
hotfix/bug-name
. - Implement the hotfix.
- Release the hotfix with a new tag.
- Squash and merge the hotfix back into the
master
branch.
- Create a new branch named
-
Releases:
- Releases are initiated by creating a new tag on the
master
branch, following semantic versioning principles. Tags are namedvX.Y.Z
. - The release workflow is as follows:
- Create a new tag on the
master
branch. - Push the tag to the remote repository.
- The release will be automatically deployed to the production environment.
- Create a new tag on the
- Releases are initiated by creating a new tag on the