-
Please make sure you have signed the Contributor License Agreement. We are not asking you to assign copyright to us, but to give us the right to distribute your code without restriction. We ask this of all contributors in order to assure our users of the origin and continuing existence of the code. You only need to sign the CLA once.
-
Run the linter and test suite to ensure your changes do not break existing code:
Install
nox
for task management:$ python -m pip install nox
Auto-format and lint your changes:
$ nox -rs format
Run the test suite:
# Runs against Python 2.7 and 3.6 $ nox -rs test-2.7 test-3.6 # Runs against all available Python versions $ nox -rs test
-
Rebase your changes. Update your local repository with the most recent code from the main
enterprise-search-python
repository and rebase your branch on top of the latestmain
branch. All of your changes will be squashed into a single commit so don't worry about pushing multiple times. -
Submit a pull request. Push your local changes to your forked repository and submit a pull request and mention the issue number if any (
Closes #123
) Make sure that you add or modify tests related to your changes so that CI will pass. -
Sit back and wait. There may be some discussion on your pull request and if changes are needed we would love to work with you to get your pull request merged into enterprise-search-python.
Run the full integration test suite with $ .buildkite/run-tests
.
There are several environment variabels that control integration tests:
PYTHON_VERSION
: Version of Python to use, defaults to3.9
STACK_VERSION
: Version of Elasticsearch to use. These should be the same as tags ofdocker.elastic.co/elasticsearch/elasticsearch
such as8.0.0-SNAPSHOT
,7.11-SNAPSHOT
, etc. Defaults to the same*-SNAPSHOT
version as the branch.ENTERPRISE_SEARCH_URL
: URL for the Enterprise Search instanceENTERPRISE_SEARCH_PASSWORD
: Password for theelastic
user on Enterprise Search. This is typically the same as theelastic
password on Elasticsearch.APP_SEARCH_PRIVATE_KEY
: Private key for App Search