You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/developer-guide/contribute.md
+62-64Lines changed: 62 additions & 64 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,106 +33,102 @@ There are plenty of ways to contribute to an open source project, even without c
33
33
Therefore, anyone who is interested in this project is very welcome to contribute in one of the following ways:
34
34
35
35
1. Using `MLSysOps framework`. Try it out yourself and let us know your experience. Did everything work well? Were the instructions clear?
36
-
2. Improve or suggest changes to the documentation of the project. Documentation is very important for every project, hence any ideas on how to improve the documentation to make it more clear are more than welcome.
37
-
3. Request new features. Any proposals for improving or adding new features are very welcome.
38
-
4. Find a bug and report it. Bugs are everywhere and some are hidden very well. As a result, we would really appreciate it if someone found a bug and reported it to the maintainers.
39
-
5. Make changes to the code. Improve the code, add new functionalities and make `MLSysOps framework` even more useful.
36
+
2. Improve or suggest changes to the documentation of the project. Documentation is a very important part of every project, hence any ideas on how to make it more clear are more than welcome.
37
+
3. Request new features. Any proposals for improving existing features or adding new ones are very welcome.
38
+
4. Find a bug and report it. Bugs are everywhere and some are hidden very well. As a result, if you find a bug, we would really appreciate it if you reported it to the maintainers.
39
+
5. Make changes to the code. Improve the code, add new functionality, and make `MLSysOps framework` even more useful.
40
40
41
41
## Opening an issue
42
42
43
43
We use Github issues to track bugs and requests for new features.
44
-
Anyone is welcome to open a new issue, which is either related to a bug or a request for a new feature.
44
+
Anyone is welcome to open a new issue, either to report a bug or to request a new feature.
45
45
46
46
### Reporting bugs
47
47
48
-
In order to report a bug or misbehavior in `MLSysOps framework`, a user can open a new issue explaining the problem.
49
-
For the time being, we do not use any strict template for reporting any issues.
50
-
However, in order to easily identify and fix the problem, it would be very helpful to provide enough information.
51
-
In that context, when opening a new issue regarding a bug, we kindly ask you to:
48
+
To report a bug or misbehavior in `MLSysOps framework`, a user can open a new issue explaining the problem.
49
+
For the time being, we do not have a strict template for reporting issues, however, it is important that enough information is provided for the problem to be easily identified and resolved.
50
+
To that end, when opening a new issue regarding a bug, we kindly ask you to:
52
51
53
52
- Mark the issue with the bug label
54
53
- Provide the following information:
54
+
1. A short description of the bug.
55
+
2. The respective logs both from the output and `containerd`.
56
+
3. Framework's version manifest (either the commit hash or the version manifest file).
57
+
4. The execution environment (CPU architecture, VMM etc.).
58
+
5. Any particular steps to reproduce the issue.
55
59
56
-
1. A short description of the bug.
57
-
2. The respective logs both from the output and containerd.
58
-
3. Framework's version manifest (either the commit hash or the version manifest file).
59
-
4. The execution environment (CPU architecture, VMM etc.).
60
-
5. Any particular steps to reproduce the issue.
61
60
- Keep an eye on the issue for possible questions from the maintainers.
62
61
63
-
A template for an issue could be the following one:
62
+
The following template may serve as a useful guide:
63
+
64
64
```
65
65
## Description
66
-
An explanation of the issue
66
+
An explanation of the issue
67
67
68
68
## System info
69
69
70
70
- Version:
71
71
- Arch:
72
72
- VMM:
73
-
- ...
73
+
- ...
74
74
75
75
## Steps to reproduce
76
76
A list of steps that can reproduce the issue.
77
77
```
78
78
79
79
### Requesting new features
80
80
81
-
We will be very happy to listen from users about new features that they would like to see in `MLSysOps framework`.
81
+
We are very happy to hear about features that you would like to see in `MLSysOps framework`.
82
82
One way to communicate such a request is using Github issues.
83
-
For the time being, we do not use any strict template for requesting new features.
84
-
However, we kindly ask you to mark the issue with the enhancement label and provide a description of the new feature.
83
+
For the time being, we do not use a strict template for requesting new features, however, we kindly ask you to mark the issue with the enhancement label and provide a description of the feature.
85
84
86
85
## Submitting a PR
87
86
88
-
Anyone should feel free to submit a change or an addition to the codebase of `MLSysOps framework`.
87
+
Everyone should feel free to submit a change or an addition to the codebase of `MLSysOps framework`.
89
88
Currently, we use Github's Pull Requests (PRs) to submit changes to `MLSysOps framework`'s codebase.
90
89
Before creating a new PR, please follow the guidelines below:
91
90
92
91
- Make sure that the changes do not break the building process of `MLSysOps framework`.
93
-
- Make sure that all the tests run successfully.
94
-
- Make sure that no commit in a PR breaks the building process of `MLSysOps framework`
92
+
- Make sure that all tests run successfully.
95
93
- Make sure to sign-off your commits.
96
-
- Provide meaningful commit messages, describing shortly the changes.
97
-
- Provide a meaningful PR message
94
+
- Provide meaningful commit messages, briefly describing the changes.
95
+
- Provide a meaningful PR message.
98
96
99
97
As soon as a new PR is created the following workflow will take place:
100
98
101
-
1. The creator of the PR should invoke the tests by adding the `ok-to-test` label.
102
-
2. If the tests pass, request from one or more `MLSysOps framework`'s [maintainers](https://github.com/nubificus/MLSysOps framework/blob/main/MAINTAINERS) to review the PR.
103
-
3. The reviewers submit their review.
104
-
4. The author of the PR should address all the comments from the reviewers.
105
-
5. As soon as a reviewer approves the PR, an action will add the appropriate git trailers in the PR's commits.
106
-
6. The reviewer who accepted the changes will merge the new changes.
99
+
1. The creator of the PR should invoke the tests by adding the `ok-to-test` label.
100
+
2. If the tests pass, request that one or more `MLSysOps framework`'s [maintainers](https://github.com/nubificus/MLSysOps framework/blob/main/MAINTAINERS) review the PR.
101
+
3. The reviewers submit their review.
102
+
4. The author of the PR should address all the comments from the reviewers.
103
+
5. As soon as a reviewer approves the PR, an action will add the appropriate git trailers in the PR's commits.
104
+
6. The reviewer who accepted the changes will merge them.
107
105
108
106
## Labels for the CI
109
107
110
108
We use github workflows to invoke some tests when a new PR opens for `MLSysOps framework`.
111
109
In particular, we perform the following workflows tests:
112
110
113
-
-Linting of the commit message. Please check the [git commit message style](#git-commit-messages) below for more info.
114
-
- Spell check, since `MLSysOps framework` repository contains its documentation too.
111
+
-Commit message linting: Please check the [git commit message style](#git-commit-messages) below for more info.
112
+
- Spell checking: since the`MLSysOps framework` repository contains its documentation too.
115
113
- License check
116
-
- Code linting.
114
+
- Code linting
117
115
- Building artifacts for amd64 and aarch64.
118
116
- Unit tests
119
117
- End-to-end tests
120
118
121
-
For a better control over the tests and workflows that run in a PR, we define
122
-
three labels which can be used:
119
+
For better control over the tests and workflows that run in a PR, we define three PR labels:
123
120
124
121
-`ok-to-test`: Runs a full CI workflow, meaning all lint tests (commit
125
122
message, spellcheck, license), Code linting, building for x86 and aarch64,
126
-
unit tests and at last end-to-end tests.
127
-
-`skip-build`: Skips the building workflows along with unit and end-to end tests
128
-
running all the linting tests. This is useful when
129
-
the PR is related to docs and it can help for catching spelling errors etc. In
123
+
unit tests, and finally, end-to-end tests.
124
+
-`skip-build`: Skips the building workflows along with unit test and end-to end tests, while still running all linters. This is useful when
125
+
the PR is related to docs because it can help catch spelling errors, etc. In
130
126
addition, if the changes are not related to the codebase, running the
131
127
end-to-end tests is not required and saves some time.
132
128
-`skip-lint`: Skips the linting phase. This is particularly useful on draft
133
129
PRs, when we want to just test the functionality of the code (either a bug
134
130
fix, or a new feature) and defer the cleanup/polishing of commits, code, and
135
-
docs to when the PR will be ready for review.
131
+
docs until the PR will be ready for review.
136
132
137
133
**Note**: Both `skip-build` and `skip-lint` assume that the `ok-to-test` label
138
134
is added.
@@ -141,45 +137,47 @@ is added.
141
137
142
138
### Git commit messages
143
139
144
-
Please follow the below guidelines for your commit messages:
140
+
Please follow the guidelines below for your commit messages:
145
141
146
142
- Limit the first line to 72 characters or less.
147
-
- Limit all the other lines to 80 characters
143
+
- Limit all other lines to 80 characters.
148
144
- Follow the [Conventional Commits](https://www.conventionalcommits.org/)
149
145
specification and, specifically, format the header as `<type>[optional scope]:
150
-
<description>`, where `description` must not end with a fullstop and `type`
146
+
<description>`, where `description` must not end with a full stop and `type`
151
147
can be one of:
152
-
153
-
-*feat*: A new feature
154
-
-*fix*: A bug fix
155
-
-*docs*: Documentation only changes
156
-
-*style*: Changes that do not affect the meaning of the code (white-space,
148
+
-_feat_: A new feature
149
+
-_fix_: A bug fix
150
+
-_docs_: Documentation only changes
151
+
-_style_: Changes that do not affect the meaning of the code (white-space,
157
152
formatting, missing semi-colons, etc)
158
-
-*refactor*: A code change that neither fixes a bug nor adds a feature
159
-
-*`perf`*: A code change that improves performance
160
-
-*test*: Adding missing tests
161
-
-*build*: Changes that affect the build system or external dependencies
162
-
(example scopes: gulp, broccoli, `npm`)
163
-
-*ci*: Changes to our CI configuration files and scripts (example scopes:
153
+
-_refactor_: A code change that neither fixes a bug nor adds a feature
154
+
-_`perf`_: A code change that improves performance
155
+
-_test_: Adding missing tests
156
+
-_build_: Changes that affect the build system or external dependencies
157
+
(example scopes: `gulp`, `broccoli`, `npm`)
158
+
-_ci_: Changes to our CI configuration files and scripts (example scopes:
164
159
`Travis`, `Circle`, `BrowserStack`, `SauceLabs`)
165
-
-*chore*: Other changes that don't modify src or test files
166
-
-*revert*: Reverts a previous commit
167
-
- In case the PR is associated with an issue, please refer to it, using the git trailer `Fixes: #Nr_issue`
168
-
- Always sign-off your commit message
160
+
-_chore_: Other changes that don't modify source code or test files
161
+
-_revert_: Reverts a previous commit
162
+
163
+
- In case the PR is associated with an issue, please refer to it, using the git trailer `Fixes: #<issue number>`, i.e. `Fixes: #30`.
164
+
- Always sign-off your commit message.
169
165
170
-
Since the MLSysOps framework comprises code written in various programming
171
-
languages we use the following styles for each:
166
+
Since the `MLSysOps framework` comprises code written in various programming
167
+
languages, we use the following styles for each:
172
168
173
169
### Golang code style
174
170
175
-
We follow `gofmt`'s rules on formatting GO code. Therefore, we ask all
176
-
contributors to do the same. Go provides the `gofmt` tool, which can be used
171
+
We follow `gofmt`'s formatting rules. Therefore, we ask all
172
+
contributors to do the same. Go provides the `gofmt` tool, which can be used
0 commit comments