websoft9/CONTRIBUTING.md

83 lines
3.6 KiB
Markdown
Raw Normal View History

2023-07-19 09:43:02 +00:00
# Contributing to Websoft9
2023-07-21 08:14:35 +00:00
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](https://github.com/websoft9/websoft9/issues/new/choose) first. This way we can ensure that your precious work is not in vain.
## Not Sure Architecture?
2024-04-23 09:14:48 +00:00
It's important to figure out the design [Architecture of Websoft9](docs/architecture.md)
## Code of Conduct{#conduct}
This project use [Code of Conduct](https://code.fb.com/codeofconduct), 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
2024-04-24 01:04:19 +00:00
- Select tags instead of creating tags
2024-04-23 09:14:48 +00:00
- 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
2023-07-21 08:14:35 +00:00
## Fork
Contributor only allow to fork [main branch](https://github.com/Websoft9/websoft9/tree/main) and pull request for it. Maintainers don't accept any pr to **production branch**
2023-07-26 09:48:16 +00:00
## Branch
2024-04-24 01:04:19 +00:00
This repository have these branches:
2023-07-26 09:48:16 +00:00
2024-04-24 01:04:19 +00:00
* **Contributor's branch**: Developer can fork main branch as their development branch anytime
* **main branch**: The only branch that accepts PR from Contributors' branch
2023-07-26 09:48:16 +00:00
* **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
2023-07-21 08:14:35 +00:00
## Pull request
2023-07-26 09:48:16 +00:00
[Pull request](https://docs.github.com/pull-requests) 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?
1. [pull request reviews](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/about-pull-request-reviews)
2. Merge RP and CI/CD for it
2023-07-21 08:14:35 +00:00
## DevOps principle
2023-07-26 09:48:16 +00:00
DevOps thinks the same way **[5m1e](https://www.dgmfmoldclamps.com/what-is-5m1e-in-injection-molding-industry/)** for manufacturing companies
2023-07-21 08:14:35 +00:00
We follow the development principle of minimization, rapid release
### Version
Use *[[major].[minor].[patch]](https://semver.org/lang/zh-CN/)* for version serial number and [version.json](../version.json) for version dependencies
### Artifact
Websoft9 use below [Artifact](https://jfrog.com/devops-tools/article/what-is-a-software-artifact/) for different usage:
* **Dockerhub for image**: Access [Websoft9 docker images](https://hub.docker.com/u/websoft9dev) on Dockerhub
2023-07-24 03:37:36 +00:00
* **Azure Storage for files**: Access [packages list](https://artifact.azureedge.net/release?restype=container&comp=list) at [Azure Storage](https://learn.microsoft.com/en-us/azure/storage/storage-dotnet-how-to-use-blobs#list-the-blobs-in-a-container)
2023-07-21 08:14:35 +00:00
### Tags
2024-04-24 01:04:19 +00:00
- Type tags: Bug, enhancement, Documentation
2023-07-21 08:14:35 +00:00
- Stages Tags: PRD, Dev, QA(include deployment), Documentation
### WorkFlow
2023-07-26 09:48:16 +00:00
Websoft9 use the [Production branch with GitLab flow](https://cm-gitlab.stanford.edu/help/workflow/gitlab_flow.md#production-branch-with-gitlab-flow) for development collaboration
> [gitlab workflow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) is improvement model for git