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: .github/contributing.md
+24-18
Original file line number
Diff line number
Diff line change
@@ -39,28 +39,34 @@ Nevertheless, please try to follow the guidelines below as well as you can to he
39
39
## Core Guidelines
40
40
41
41
-["Commit early and push often"](https://www.worklytics.co/blog/commit-early-push-often).
42
-
- Write meaningful commit messages (preferably using [gitmoji](https://gitmoji.dev) to give additional context to your commits).
43
-
- Focus on a single feature/bug at a time and only touch relevant files. Split multiple features into multiple contributions.
44
-
- If you added a new feature, you should add tests that ensure it works as intended. Furthermore, the new feature should be documented appropriately.
45
-
- If you fixed a bug, you should add tests that demonstrate that the bug has been fixed.
46
-
- Document your code thoroughly and write readable code.
47
-
- Keep your code clean. Remove any debug statements, left-over comments, or code unrelated to your contribution.
48
-
- Run `pre-commit run -a` to check your code for style and linting errors before committing.
42
+
- Write meaningful commit messages, preferably using [gitmoji](https://gitmoji.dev) for additional context.
43
+
- Focus on a single feature or bug at a time and only touch relevant files. Split multiple features into separate contributions.
44
+
- Add tests for new features to ensure they work as intended. Document new features appropriately.
45
+
- Add tests for bug fixes to demonstrate that the bug has been resolved.
46
+
- Document your code thoroughly and ensure it is readable.
47
+
- Keep your code clean by removing debug statements, leftover comments, and unrelated code.
48
+
- Check your code for style and linting errors before committing.
49
+
- Follow the project's coding standards and conventions.
50
+
- Be open to feedback and willing to make necessary changes based on code reviews.
49
51
50
52
## Pull Request Workflow
51
53
52
54
- Create PRs early. It is ok to create work-in-progress PRs. You may mark these as draft PRs on GitHub.
53
-
- Describe your PR. Start with a descriptive title, reference any related issues by including the issue number in the PR description, and add a comprehensive description of the changes. We provide a PR template that you can (and should) follow to create a PR. Do not delete any sections from the template.
54
-
- Whenever a PR is created or updated, several workflows on all supported platforms and versions of Python are executed. These workflows ensure that the project still builds, that all tests pass, and that the code is properly formatted and introduces no new linting errors. Your PR is expected to pass all these continuous integration (CI) checks before it can be merged. Here are some tips for finding the cause of certain failures:
55
-
- If any of the `CI / 🇨 Test` checks fail, this most likely indicates build errors or test failures in the C++ part of the code base. Look through the respective logs on GitHub for any error or failure messages.
56
-
- If any of the `CI / 🐍 Test` checks fail, this most likely indicates build errors or test failures in the Python part of the code base. Look through the respective logs on GitHub for any error or failure messages.
57
-
- If any of the `codecov/\*` checks fail, this means that your changes are not appropriately covered by tests or that the overall project coverage decreased too much. Ensure that you include tests for all your changes in the PR.
58
-
- If `cpp-linter` comments on your PR with a list of warnings, these have been raised by `clang-tidy` when checking the C++ part of your changes for warnings or style guideline violations. The individual messages frequently provide helpful suggestions on how to fix the warnings. If you don't see any messages, but the `🇨 Lint / 🚨 Lint` check is red, click on the `Details` link to see the full log of the check and a step summary.
59
-
- If the `pre-commit.ci` check fails, some of the `pre-commit` checks failed and could not be fixed automatically by the _pre-commit.ci_ bot. Such failures are most likely related to the Python part of the code base. The individual log messages frequently provide helpful suggestions on how to fix the warnings.
60
-
- If the `docs/readthedocs.org:mqt-core` check fails, the documentation could not be built properly. Inspect the corresponding log file for any errors.
61
-
- Once your PR is ready, change it from a draft PR to a regular PR and request a review from one of the project maintainers. Please make sure to only request a review once you are done with your changes and the PR is ready to be merged. If you are unsure whether your PR is ready for review, please ask in the PR comments.
62
-
- If your PR gets a "Changes requested" review, you will need to address the feedback and update your PR by pushing to the same branch. You don't need to close the PR and open a new one. Respond to review comments on the PR (e.g., with "done 👍" or "done in @\<commit\>") to let the reviewer know that you have addressed the feedback. Note that reviewers do not get a notification if you just react to the review comment with an emoji. You need to write a comment to notify the reviewer.
63
-
- Be sure to re-request review once you have made changes after a code review so that maintainers know that the requests have been addressed.
55
+
- Describe your PR with a descriptive title, reference any related issues by including the issue number in the PR description, and add a comprehensive description of the changes. Follow the provided PR template and do not delete any sections, except for the issue reference if your PR is not related to an issue.
56
+
- Whenever a PR is created or updated, several workflows on all supported platforms and versions of Python are executed. These workflows ensure that the project still builds, all tests pass, the code is properly formatted, and no new linting errors are introduced. Your PR must pass all these continuous integration (CI) checks before it can be merged.
57
+
- Once your PR is ready, change it from a draft PR to a regular PR and request a review from one of the project maintainers. Only request a review once you are done with your changes and the PR is ready to be reviewed. If you are unsure whether your PR is ready, ask in the PR comments. If you are a first-time contributor, request a review from one of the maintainers by mentioning them in a comment on the PR.
58
+
- If your PR gets a "Changes requested" review, address the feedback and update your PR by pushing to the same branch. Do not close the PR and open a new one. Respond to review comments on the PR (e.g., with "done 👍" or "done in @<commit>") to let the reviewer know that you have addressed the feedback. Note that reviewers do not get a notification if you just react to the review comment with an emoji. Write a comment to notify the reviewer. Do not resolve the review comments yourself. The reviewer will mark the comments as resolved once they are satisfied with the changes.
59
+
- Be sure to re-request a review once you have made changes after a code review so that maintainers know that the requests have been addressed.
60
+
- No need to squash commits before merging; we usually squash them to keep the history clean. We only merge without squashing if the commit history is clean and meaningful. Avoid rebasing or force-pushing your PR branch before merging, as it complicates reviews. You can rebase or clean up commits after addressing all review comments if desired.
61
+
62
+
Here are some tips for finding the cause of certain failures:
63
+
64
+
- If any of the `CI / 🇨 Test` checks fail, this indicates build errors or test failures in the C++ part of the code base. Look through the respective logs on GitHub for any error or failure messages.
65
+
- If any of the `CI / 🐍 Test` checks fail, this indicates build errors or test failures in the Python part of the code base. Look through the respective logs on GitHub for any error or failure messages.
66
+
- If any of the `codecov/\*` checks fail, this means that your changes are not appropriately covered by tests or that the overall project coverage decreased too much. Ensure that you include tests for all your changes in the PR.
67
+
- If `cpp-linter` comments on your PR with a list of warnings, these have been raised by `clang-tidy` when checking the C++ part of your changes for warnings or style guideline violations. The individual messages frequently provide helpful suggestions on how to fix the warnings. If you don't see any messages, but the `🇨 Lint / 🚨 Lint` check is red, click on the `Details` link to see the full log of the check and a step summary.
68
+
- If the `pre-commit.ci` check fails, some of the `pre-commit` checks failed and could not be fixed automatically by the _pre-commit.ci_ bot. Such failures are most likely related to the Python part of the code base. The individual log messages frequently provide helpful suggestions on how to fix the warnings.
69
+
- If the `docs/readthedocs.org:\*` check fails, the documentation could not be built properly. Inspect the corresponding log file for any errors.
0 commit comments