Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 1.74 KB

CONTRIBUTING.md

File metadata and controls

62 lines (43 loc) · 1.74 KB

Contributing

Workflow

Here is the recommended workflow:

  1. Fork this repository, github.com/rabbitmq/amqp091-go
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Run Static Checks
  4. Run integration tests (see below)
  5. Implement tests
  6. Implement fixes
  7. Commit your changes. Use a good, descriptive, commit message.
  8. Push to a branch (git push -u origin my-new-feature)
  9. Submit a pull request

Running Static Checks

golangci-lint must be installed to run the static checks. See installation docs for more information.

The static checks can be run via:

make checks

Running Tests

Integration Tests

Running the Integration tests require:

  • A running RabbitMQ node with all defaults: https://www.rabbitmq.com/download.html
  • That the server is either reachable via amqp://guest:guest@127.0.0.1:5672/ or the environment variable AMQP_URL set to it's URL (e.g.: export AMQP_URL="amqp://guest:verysecretpasswd@rabbitmq-host:5772/)

The integration tests can be run via:

make tests

Some tests require access to rabbitmqctl CLI. Use the environment variable RABBITMQ_RABBITMQCTL_PATH=/some/path/to/rabbitmqctl to run those tests.

If you have Docker available in your machine, you can run:

make tests-docker

This target will start a RabbitMQ container, run the test suite with the environment variable setup, and stop RabbitMQ container after a successful run.

All integration tests should use the integrationConnection(...) test helpers defined in integration_test.go to setup the integration environment and logging.