Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create CONTRIBUTING.md, prepare issue and pull request templates #580

Merged
merged 1 commit into from
Mar 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**What version of Zserio and what language are you using?**
Zserio: 2.12.0
Language: C++/Java/Python

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
* Schema (minimum working example)
* Zserio command line options (e.g. -withTypeInfoCode)
* Sample code (*.cpp / *.java / *.py)
* Error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Additional context:**
Provide relevant information about your OS, used Java version, Python version and/or C++ compiler version.
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Question
url: https://github.com/ndsev/zserio/discussions/new?category=q-a
about: Ask questions here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
11 changes: 11 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
**Please check [contribution guide](https://github.com/ndsev/zserio/CONTRIBUTING.md) first.**

# Description

Include a summary of the change and which issue is fixed.

# Type of Change

* [ ] Bug fix
* [ ] New feature
* [ ] Documentation enhancement
76 changes: 76 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Contributing to Zserio

The following summarizes the process for contributing changes to the Zserio project.

## Where to start

* [Zserio Build Instructions](doc/ZserioBuildInstructions.md).

## General rules for any code contribution

* Consider to open a [discussion](https://github.com/ndsev/zserio/discussions/new/choose)
or create an [issue](https://github.com/ndsev/zserio/issues/new/choose).

* Open a new GitHub pull request.

* Follow our coding style.

* For all C++ and Java code we use **clang-format** to check that the code follow the defined
[coding style](.clang-format).

> Note that you have to run `clang-format` on your own, our pipeline only checks that the code follows
the rules.

* Python code is not yet automatically checked, please try use the same coding style as is used in our
[Python runtime library](https://github.com/ndsev/zserio/tree/master/compiler/extensions/python/runtime/src/zserio)
(in general we follow the [PEP-8](https://www.python.org/dev/peps/pep-0008/)).

* Ensure that all GitHub [workflows](https://github.com/ndsev/zserio/actions) are passing.

* Wait for the review by [@Mi-La](https://github.com/Mi-La) or [@mikir](https://github.com/mikir).

> Please try to address only a single problem in you pull request.

## Did you find a bug?

* Ensure that the bug was not already reported in some [issue](https://github.com/ndsev/zserio/issues).

* If there is no open issue addressing the problem,
[open a new one](https://github.com/ndsev/zserio/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=).

* Follow [General rules for any code contribution](#general-rules-for-any-code-contribution).

## Do you want to propose a performance optimization?

* Consider to open a [discussion](https://github.com/ndsev/zserio/discussions/new/choose)
or create an [issue](https://github.com/ndsev/zserio/issues/new/choose).

* Run our [benchmarks](https://github.com/ndsev/zserio/tree/master/benchmarks) and provide comparison with the latest zserio release
in your Pull Request.

* Feel free to provide any other measurements.

* Follow [General rules for any code contribution](#general-rules-for-any-code-contribution).

## Do you want to propose a new feature?

* Consider to open a [discussion](https://github.com/ndsev/zserio/discussions/new?category=ideas) or create an
[issue](https://github.com/ndsev/zserio/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).

* The proposed changes must not break
[backward compatibility](doc/ZserioCompatibilityGuide.md#schema-language-compatibility).

## Do you intend to write a new generator?

* Consider to open a [discussion](https://github.com/ndsev/zserio/discussions/new?category=ideas) or create an
[issue](https://github.com/ndsev/zserio/issues/new?assignees=&labels=&projects=&template=feature_request.md&title=).

* In case you want to implement a new generator (i.e. zserio extension), you can start with
[Zserio Extension Sample](https://github.com/ndsev/zserio-extension-sample)
and keep it as an external extension. We will be happy to add a link to your extension in our [README.md](README.md)!

## License

We do not require any formal copyright assignment or contributor license agreement (CLA).
Any contributions intentionally sent upstream are presumed to be offered under terms of BSD 3-Clause License.
See [LICENSE](https://github.com/ndsev/zserio/LICENSE) for details.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,3 +182,10 @@ by Zserio. However, Zserio provides sample implementations of several Pub/Sub ba
Note that Zserio doesn't provide any Pub/Sub server. There are various implementations of servers
(e.g. [mosquitto](https://github.com/eclipse/mosquitto)) and it's the responsibility of the user's Pub/Sub
client implementation to communicate with the appropriate server.

## Contributions

Contributions are very welcome but we encourage to open a
[discussion](https://github.com/ndsev/zserio/discussions/new/choose) or
an [issue](https://github.com/ndsev/zserio/issues/new) first to agree on a solution or to avoid useless work
in case we are already solving a similar problem. Please see [Contribution Guide](CONTRIBUTING.md).
Loading