diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 295cab5c..de1dc666 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,10 +13,36 @@ It's important to figure out the design [architecture of Websoft9](docs/architec 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** +## Branch + +This repository have these branchs: + +* **Contributor's branch**: Develpoer can fork main branch as their delelopment branch anytime +* **main branch**: The only branch that accepts PR from Contributors's 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](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 + ## DevOps principle +DevOps thinks the same way **[5m1e](https://www.dgmfmoldclamps.com/what-is-5m1e-in-injection-molding-industry/)** for manufacturing companies + We follow the development principle of minimization, rapid release ### Version @@ -37,5 +63,7 @@ Websoft9 use below [Artifact](https://jfrog.com/devops-tools/article/what-is-a-s ### WorkFlow -Websoft9 use the [gitlab workflow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) for development collaboration +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 diff --git a/README.md b/README.md index 6f304a77..9f8723dd 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,8 @@ curl https://websoft9.github.io/websoft9/install/update.sh | bash Follow the [contributing guidelines](CONTRIBUTING.md) if you want to propose a change in the Websoft9 core. For more information about participating in the community and contributing to the Websoft9 project, see [this page](https://support.websoft9.com/docs/community/contributing). -Documentation for application templates based on Docker maintainers is in the [docker-library](https://github.com/Websoft9/docker-library). +- Documentation for [Websoft9 core maintainers](docs/MAINTAINERS.md) +- Documentation for application templates based on Docker maintainers is in the [docker-library](https://github.com/Websoft9/docker-library). # License diff --git a/docs/MAINTAINERS.md b/docs/MAINTAINERS.md new file mode 100644 index 00000000..70b3ee1b --- /dev/null +++ b/docs/MAINTAINERS.md @@ -0,0 +1,43 @@ +# Documentation for core maintainers + +This documentaion is from [jenkins MAINTAINERS] which have a paradigm of rigorous open source project maintenance + +## Scope + +This document applies to the following components: + +- Websoft9 core +- Websoft9 core plugins +- docker-library + +## Roles + +* **Contributor**: submit pull requests to the Jenkins core and review changes submitted by others. There are no special preconditions to do so. Anyone is welcome to contribute. +* **Issue Triage Team Member**: review the incoming issues: bug reports, requests for enhancement, etc. Special permissions are not required to take this role or to contribute. +* **Core Pull Request Reviewer**: A team for contributors who are willing to regularly review pull requests and eventually become core maintainers. +* **Core Maintainer**: Get permissions in the repository, and hence they are able to merge pull requests.Their responsibility is to perform pull request reviews on a regular basis and to bring pull requests to closure, either by merging ready pull requests towards weekly releases ( branch) or by closing pull requests that are not ready for merge because of submitter inaction after an extended period of time. +* **Pull Request Assignee**: Core maintainers make a commitment to bringing a pull request to closure by becoming an Assignee. They are also responsible to monitor the weekly release status and to perform triage of critical issues. +* **Release Team Member**: Responsible for Websoft9 weekly and LTS releases + + +| Role/job | submit pr | review pr | assign pr | merge pr | close pr | create issue | manage issue | release | +| ------------ | --------- | --------- | --------- | -------- | -------- | ------------ | ------------ | ------- | +| Contributor | √ | | | | | √ | | | +| Issue Team | √ | | | | | √ | √ | | +| PR Reviewer | √ | √ | | | | √ | | | +| Release Team | √ | | | | | √ | | √ | +| Maintainer | √ | √ | √ | √ | √ | √ | | | +| PR Assignee | | | | √ | | √ | | | + + +## Pull request review process + +## Pull request Merge process + +## Issue triage + +## Release process + +## Tools + +## Communication \ No newline at end of file diff --git a/docs/architecture.md b/docs/architecture.md index 936d5eb1..8b8183a3 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -14,7 +14,7 @@ What we do is integrating below stacks's API or interfaces to Cockpit console by - [Duplicati](https://www.duplicati.com/): Backup software to store encrypted backups online - [Redis](https://redis.io/): The open source, in-memory data store - [Appmanage](https://github.com/Websoft9/websoft9/tree/main/appmanage): API for create and manage docker compose based application powered by Websoft9 -- [websoft9-plugin](https://github.com/websoft9?q=plugin&type=all&language=&sort=): Cockpit packages powered by Websoft9 +- [websoft9-plugins](https://github.com/websoft9?q=plugin&type=all&language=&sort=): Cockpit packages powered by Websoft9 As Websoft9 is a complete product, we also offer: diff --git a/docs/user.md b/docs/user.md index acedec62..dbd2491c 100644 --- a/docs/user.md +++ b/docs/user.md @@ -5,8 +5,9 @@ #### user can not sudo? ``` -# add user to sudo/admin group +# add user to sudo/admin group (select one command) usermod -aG wheel username +usermod -aG sudo username # sudo not need to input password