-
Notifications
You must be signed in to change notification settings - Fork 37
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add community section to readme file * Add a contributing guide * Add more info on starting convos around issues * Update Slack invite link * Add new line between header and body Co-authored-by: Carl Hörberg <[email protected]> * Take out build and performance test steps Co-authored-by: Carl Hörberg <[email protected]> * Add link to CloudAMQP support Co-authored-by: Carl Hörberg <[email protected]> * Add new line between header and body Co-authored-by: Carl Hörberg <[email protected]> * Replace link to github issues with discussions * Add new lines between header and body in applicable places --------- Co-authored-by: Carl Hörberg <[email protected]>
- Loading branch information
1 parent
4feeda0
commit 4f14291
Showing
2 changed files
with
51 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
You are interested in contributing to LavinMQ, but you are not sure how to? | ||
Right now, you can contribute to LavinMQ in one of two ways: | ||
|
||
1. [Code contributions](#code-contributions) | ||
2. [Non-code contributions](#non-code-contributions) | ||
|
||
## Code contributions | ||
|
||
The first step to making a code contribution, is starting a conversation around what you'd like to work on. You can start a conversation around an existing [issue](https://github.com/cloudamqp/lavinmq/issues) or a new one that you've created - refer to [reporting an issue](#report-an-issue). Next: | ||
|
||
1. Fork, create feature branch | ||
1. Submit pull request | ||
|
||
### Develop | ||
|
||
1. Run specs with `crystal spec` | ||
1. Compile and run locally with `crystal run src/lavinmq.cr -- -D /tmp/amqp` | ||
1. Pull js dependencies with `make js` | ||
1. Build API docs with `make docs` (requires `npx`) | ||
1. Build with `shards build` | ||
|
||
### Release | ||
|
||
1. Update `CHANGELOG.md` | ||
1. Bump version in `shards.yml` | ||
1. Create and push an annotated tag (`git tag -a v$(shards version)`), put the changelog of the version in the tagging message | ||
|
||
## Non-Code contributions | ||
|
||
Your schedule won't allow you make code contributions? Still fine, you can: | ||
|
||
### [Report an issue](https://github.com/cloudamqp/lavinmq/issues/new) | ||
|
||
- This could be an easily reproducible bug or even a feature request. | ||
- If you spot an unexpected behaviour but you are not yet sure what the underlying bug is, the best place to post is [LavinMQ's community Slack](https://join.slack.com/t/lavinmq/shared_invite/zt-1v28sxova-wOyhOvDEKYVQMQpLePNUrg). This would allow us to interactively figure out what is going on. | ||
|
||
### [Give us some feedback](https://github.com/cloudamqp/lavinmq/discussions) | ||
|
||
We are also curious and happy to hear about your experience with LavinMQ. You can email us via [email protected] or reach us on Slack. Not sure what to write to us? | ||
|
||
- You can write to us about your first impression of LavinMQ | ||
- You can talk to us about features that are most important to you or your organization | ||
- You can also just tell us what we can do better |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -102,25 +102,7 @@ In OS X the app, [`Instruments` that's bundled with Xcode can be used for tracin | |
Memory garbage collection can be diagnosed with [boehm-gc environment variables](https://github.com/ivmai/bdwgc/blob/master/docs/README.environment). | ||
|
||
## Contributing | ||
|
||
1. Fork, create feature branch | ||
1. Build with `make -j` | ||
1. Performance test with `bin/lavinmqperf throughput` and compare against `main` | ||
1. Submit pull request | ||
|
||
### Develop | ||
|
||
1. Run specs with `crystal spec` | ||
1. Compile and run locally with `crystal run src/lavinmq.cr -- -D /tmp/amqp` | ||
1. Pull js dependencies with `make js` | ||
1. Build API docs with `make docs` (requires `npx`) | ||
1. Build with `shards build` | ||
|
||
### Release | ||
|
||
1. Update `CHANGELOG.md` | ||
1. Bump version in `shards.yml` | ||
1. Create and push an annotated tag (`git tag -a v$(shards version)`), put the changelog of the version in the tagging message | ||
Kindly read our [contributing guide](CONTRIBUTING.md) | ||
|
||
## LavinMQ with various plattforms | ||
All AMQP client libraries work with LavinMQ and there are AMQP client libraries for almost every platform on the market. Here are guides for a couple of common plattforms. | ||
|
@@ -147,7 +129,7 @@ and about 1000 bindings/second to durable queues. | |
## Implementation | ||
|
||
LavinMQ is written in [Crystal](https://crystal-lang.org/), a modern | ||
language built on the LLVM, that has a Ruby-like syntax, uses an event loop | ||
language built on the LLVM, with a Ruby-like syntax. It uses an event loop | ||
library for IO, is garbage collected, adopts a CSP-like [concurrency | ||
model](https://crystal-lang.org/docs/guides/concurrency.html) and compiles down | ||
to a single binary. You can liken it to Go, but with a nicer syntax. | ||
|
@@ -206,6 +188,12 @@ When `Client#read_loop` receives a Basic.Consume frame it will create a `Consume | |
the queue's list of consumers. Each consumer has a `deliver_loop` fiber that will be notified | ||
by an internal `Channel` when new messages are available in the queue. | ||
|
||
## Getting help | ||
|
||
For questions or suggestions: | ||
- We are on [Slack](https://join.slack.com/t/lavinmq/shared_invite/zt-1v28sxova-wOyhOvDEKYVQMQpLePNUrg). | ||
- You can also use the [lavinmq tag](https://stackoverflow.com/questions/tagged/lavinmq) on Stackoverflow | ||
- If you use LavinMQ via [CloudAMQP](https://www.cloudamqp.com) then reach out to [[email protected]] | ||
## Features | ||
|
||
- AMQP 0-9-1 compatible | ||
|