Skip to content

Commit ebf3c0d

Browse files
authored
Merge pull request #1202 from dimaqq/chore-better-contrib-guide
#1202 https://warthogs.atlassian.net/browse/CHARMTECH-430
2 parents 651e36a + ceed7bb commit ebf3c0d

1 file changed

Lines changed: 11 additions & 63 deletions

File tree

docs/CONTRIBUTING.md

Lines changed: 11 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -5,80 +5,28 @@ Thank you for investing your time in contributing to our project! :confetti_ball
55
In this guide, you will get an overview of the contribution workflow from opening an issue,
66
creating a PR, reviewing, and merging the PR.
77

8-
Use the table of contents icon <img src="https://github.com/github/docs/raw/41b5e9addc77f16f945ba3429b90c8f130aac9c2/contributing/images/table-of-contents.png" width="25" height="25" /> in the top right corner of this document to get to a specific section of this guide quickly.
9-
10-
## New contributor guide
11-
12-
To get an overview of the project, read the [README](https://github.com/juju/python-libjuju/blob/master/docs/readme.rst). If you need a primer on git, check out [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git).
13-
14-
Let's get to some specifics:
15-
16-
<!---
17-
- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github)
18-
- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git)
19-
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
20-
- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests)
21-
22-
23-
## Getting started
24-
25-
To navigate our codebase with confidence, see [the introduction to working in the docs repository](/contributing/working-in-docs-repository.md) :confetti_ball:. For more information on how we write our markdown files, see [the GitHub Markdown reference](contributing/content-markup-reference.md).
26-
27-
Check to see what [types of contributions](/contributing/types-of-contributions.md) we accept before making changes. Some of them don't even require writing a single line of code :sparkles:.
28-
29-
-->
8+
To get an overview of the project, read the [README](https://github.com/juju/python-libjuju/blob/master/docs/readme.rst).
309

10+
Discussions are very welcome in our Juju community, join our [public Mattermost channel](https://chat.charmhub.io/charmhub/channels/juju).
3111

3212
## Tooling
3313

3414
- `uv`, https://docs.astral.sh/uv/
3515
- `pre-commit`, https://pre-commit.com/
3616
- Python 3.8 ~ 3.13, https://www.python.org/downloads/
3717

38-
## Pull Request
39-
40-
Thanks for considering to contribute code to our project! We accept and welcome all kinds of PRs! :tada:
18+
## Repository Settings
4119

42-
The process is very simple.
43-
- Fork the project into your account.
44-
- Clone your fork.
45-
- Add an upstream remote: `git remote add upstream git@github.com:juju/python-libjuju.git`
46-
- Check with `git remote -v`, origin should point to your fork, upstream should point to ours.
47-
- If your changes are going to be on top of a specific branch (e.g., `2.9`), then fetch and switch to that.
48-
- `git switch -c your-branch-name`
49-
- Make sure that you have run `pre-commit install`
50-
- Make your changes, create your commits.
51-
- `git push -u origin your-branch-name`
20+
- Commit titles must follow [conventional commit format](https://www.conventionalcommits.org/), see [types and scopes](https://github.com/juju/juju/blob/main/doc/conventional-commits.md).
21+
- Commits have to be signed, see [GitHub advice](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits); you can [use your SSH key](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#ssh-commit-signature-verification).
22+
- For Warthogs, CLA is assumed when commits are authored with your `@canonical.com` email.
23+
- For others, please sign the CLA at https://launchpad.net/ and read [further details](https://ubuntu.com/legal/contributors/faq) here.
5224

53-
And that's it, just follow the link that Git will produce. We kindly ask you to follow our PR template (at least keep the sections there), so it can be faster for us to review and move it forward.
25+
## Bot Commands
5426

55-
There are a few project specific things you may need to take care of so that your PR passes the automated testing.
56-
- Check that all your [commits are signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits).
57-
- Use [Conventional Commits](https://github.com/juju/juju/blob/main/doc/CONTRIBUTING.md#conventional-commits) for commit messages, following the Juju project's [conventional commit types](https://github.com/juju/juju/blob/main/doc/conventional-commits.md).
58-
- Please [sign the CLA](#contributor-licence-agreement) if you haven't already.
59-
60-
61-
#### What's next
62-
63-
So when you create the PR, a bot might spam some messages there for admins to review the PR. Don't panic, everything's good. Someone from our team needs to push a button to allow for the CI to run.
64-
65-
Some time after we see the tests are passing, someone from our team will review. Whoever reviews
66-
it might ask for some changes, or some tests to be fixed, etc. Finally, the PR will be approved, and again,
67-
someone from our team (probably the reviewer) will comment `/merge`, which triggers the Juju bot to start the merging process, which will automagically complete and merge your PR onto the desired branch. :confetti_ball:
68-
69-
#### Some quick notes:
70-
71-
- Don't forget to [link PR any issues](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving any.
72-
- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge.
73-
- A `/build` comment will trigger a fresh CI run.
74-
- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues.
75-
76-
### Your PR is merged!
77-
78-
Congratulations :tada::tada: The Juju team thanks you :sparkles:.
79-
80-
Now that you are part of the Juju community, hop into our [public Mattermost channel](https://chat.charmhub.io/charmhub/channels/juju) and join the conversation!
27+
When a pull request has been reviewed, passes basic tests and the branch is up to date, a maintainer will trigger the Jenkins merge flow by adding a comment `/merge`.
8128

29+
Likewise, a `/build` comment can be used to trigger a fresh CI run in Jenkins.
8230

8331
## Issues
8432

@@ -153,7 +101,6 @@ That is, an `X.Y.0` release, for example `3.6.0`?
153101

154102
Note: you should also remove any pre-release schemas, which have the naming format `schemas-juju.X.Y-rcN.json`, where `N` is the release candidate version.
155103

156-
157104
### Subsequent releases
158105

159106
Otherwise, this is an `X.Y.Z` release where `Z` is 1 or more.
@@ -185,6 +132,7 @@ X.Y.Z (identical to $PREV)
185132
186133
Where `$PREV` is either `X.Y.(Z-1)`, or if `X.Y.(Z-1)` was also identical to a previous release, then that release number instead. You can see examples of this in `SCHEMAS.md`.
187134
135+
To analyse the differences in detail, you may use tooling and parsed schemata at https://github.com/dimaqq/juju-schema-analysis.
188136
189137
### 3. Generate python-libjuju client code from new schema
190138

0 commit comments

Comments
 (0)