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: CONTRIBUTING.md
+37-17Lines changed: 37 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
-
# Contribute
2
-
3
-
## Overview
1
+
# Contributing
4
2
5
3
This document explains the processes and practices recommended for contributing enhancements to the codebase.
6
4
5
+
## Overview
6
+
7
7
- Generally, before developing enhancements to this code base, you should consider [opening an issue](https://github.com/canonical/github-runner-operator/issues) explaining your use case.
8
8
- If you would like to chat with us about your use-cases or proposed implementation, you can reach us at [Canonical Charm Development Matrix public channel](https://matrix.to/#/#charmhub-charmdev:ubuntu.com) or [Discourse](https://discourse.charmhub.io/).
9
9
- All enhancements require review before being merged. Code review typically examines
@@ -15,6 +15,14 @@ This document explains the processes and practices recommended for contributing
15
15
When contributing, you must abide by the
16
16
[Ubuntu Code of Conduct](https://ubuntu.com/community/ethos/code-of-conduct).
17
17
18
+
## Changelog
19
+
20
+
Please ensure that any new feature, fix, or significant change is documented by
21
+
adding an entry to the [CHANGELOG.md](docs/changelog.md) file. Use the date of the
22
+
contribution as the header for new entries.
23
+
24
+
To learn more about changelog best practices, visit [Keep a Changelog](https://keepachangelog.com/).
25
+
18
26
## Submissions
19
27
20
28
If you want to address an issue or a bug in this project,
@@ -32,31 +40,46 @@ also, reference the issue or bug number when you submit the changes.
32
40
33
41
Your changes will be reviewed in due time; if approved, they will be eventually merged.
34
42
35
-
### Describing pull requests
43
+
### AI
36
44
37
-
To be properly considered, reviewed and merged,
38
-
your pull request must provide the following details:
45
+
You are free to use any tools you want while preparing your contribution, including
46
+
AI, provided that you do so lawfully and ethically.
39
47
40
-
-**Title**: Summarize the change in a short, descriptive title.
48
+
Avoid using AI to complete issues tagged with the "good first issues" label. The
49
+
purpose of these issues is to provide newcomers with opportunities to contribute
50
+
to our projects and gain coding skills. Using AI to complete these tasks
51
+
undermines their purpose.
41
52
42
-
-**Overview**: Describe the problem that your pull request solves.
43
-
Mention any new features, bug fixes or refactoring.
53
+
We have created instructions and tools that you can provide AI while preparing your contribution: [`copilot-collections`](https://github.com/canonical/copilot-collections)
44
54
45
-
-**Rationale**: Explain why the change is needed.
55
+
While it isn't necessary to use `copilot-collections` while preparing your
56
+
contribution, these files contain details about our quality standards and
57
+
practices that will help the AI avoid common pitfalls when interacting with
58
+
our projects. By using these tools, you can avoid longer review times and nitpicks.
46
59
47
-
-**Checklist**: Complete the following items:
60
+
If you choose to use AI, please disclose this information to us by indicating
61
+
AI usage in the PR description (for instance, marking the checklist item about
62
+
AI usage). You don't need to go into explicit details about how and where you used AI.
48
63
49
-
- The PR is tagged with appropriate label (`urgent`, `trivial`, `senior-review-required`, `documentation`).
64
+
Avoid submitting contributions that you don't fully understand.
65
+
You are responsible for the entire contribution, including the AI-assisted portions.
66
+
You must be willing to engage in discussion and respond to any questions, comments,
67
+
or suggestions we may have.
50
68
51
69
### Signing commits
52
70
53
71
To improve contribution tracking,
54
72
we use the [Canonical contributor license agreement](https://assets.ubuntu.com/v1/ff2478d1-Canonical-HA-CLA-ANY-I_v1.2.pdf)
55
73
(CLA) as a legal sign-off, and we require all commits to have verified signatures.
56
74
57
-
### Canonical contributor agreement
75
+
#### Canonical contributor agreement
76
+
77
+
Canonical welcomes contributions to the GitHub runner Operator. Please check out our
78
+
[contributor agreement](https://ubuntu.com/legal/contributors) if you're interested in contributing to the solution.
58
79
59
-
Canonical welcomes contributions to this repository. Please check out our [contributor agreement](https://ubuntu.com/legal/contributors) if you’re interested in contributing to the solution.
80
+
The CLA sign-off is simple line at the
81
+
end of the commit message certifying that you wrote it
82
+
or have the right to commit it as an open-source contribution.
60
83
61
84
#### Verified signatures on commits
62
85
@@ -87,7 +110,6 @@ We like to follow idomatic Go practices and community standards when writing Go
87
110
We have added an instruction file `go.instructions.md` in `.github/instructions.md` that is used by GitHub Copilot to help you write code that follows these practices.
88
111
We have added a [Style Guide](./STYLE.md) that you can refer to for more details.
89
112
90
-
91
113
### Test
92
114
93
115
This project uses standard Go testing tools for unit tests and integration tests.
@@ -169,8 +191,6 @@ Higher complexity leads to code that is harder to read, understand, test and mai
169
191
There are exceptions where higher complexity is justified (e.g., validation, initialization),
170
192
but those should require explicit justification using `nolint` directives.
171
193
172
-
173
-
174
194
### Charm development
175
195
176
196
The charm uses the [12 factor app pattern](https://canonical-12-factor-app-support.readthedocs-hosted.com/latest/).
0 commit comments