3.6 KiB
Contributing to Websoft9
From opening a bug report to creating a pull request: every contribution is appreciated and welcome.
If you're planning to implement a new feature or change the api please create an issue first. This way we can ensure that your precious work is not in vain.
Not Sure Architecture?
It's important to figure out the design Architecture of Websoft9
Code of Conduct
This project use Code of Conduct, you should read it carefully.
Consistency convention
In the process of your participation, we hope that everyone has a good habit of abiding by the agreement, including:
- Create Issue based on template
- Select tags instead of creating tags
- Complete the smallest unit independent task at one time
- Meaningful remarks when commit your code, you should select from: docs, test, fix, install, misc and so on
- Although the project has automated tests, I still hope that you can test without problems before submitting
- Following the branch management strategy, the core team maintains two branches: main and dev
Fork
Contributor only allow to fork main branch and pull request for it. Maintainers don't accept any pr to production branch
Branch
This repository have these branches:
- Contributor's branch: Developer can fork main branch as their development branch anytime
- main branch: The only branch that accepts PR from Contributors' branch
- production branch: For version release and don't permit modify directly, only merge PR from main branch
Flow: Contributor's branch → main branch → production branch
Pull request
Pull request let you tell others about changes you've pushed to a branch in a repository on GitHub.
When is PR produced?
- Contributor commit to main branch
- main branch commit to production branch
How to deal with PR?
- pull request reviews
- Merge RP and CI/CD for it
DevOps principle
DevOps thinks the same way 5m1e for manufacturing companies
We follow the development principle of minimization, rapid release
Version
Use [major].[minor].[patch] for version serial number and version.json for version dependencies
Artifact
Websoft9 use below Artifact for different usage:
- Dockerhub for image: Access Websoft9 docker images on Dockerhub
- Azure Storage for files: Access packages list at Azure Storage
Tags
- Type tags: Bug, enhancement, Documentation
- Stages Tags: PRD, Dev, QA(include deployment), Documentation
WorkFlow
Websoft9 use the Production branch with GitLab flow for development collaboration
gitlab workflow is improvement model for git