This guide will serve as a reference for contributing to the Deephaven.
Deephaven uses the Forking Workflow. In this workflow, the deephaven/deephaven-core repository contains a minimum number of branches, and development work happens in user-forked repositories.
To learn more see:
To get started quickly:
- Navigate to https://github.com/deephaven/deephaven-core.
- Click
Fork
in the top right corner. git clone git@github.com:<username>/deephaven-core.git
- Commit changes to your own branches in your forked repository.
For details on working with git on GitHub, see:
- Cloning a repository
- Connecting to GitHub with SSH
- Troubleshooting cloning errors
- Pushing commits to a remote repository
Forked repositories do not have access to the same tokens/secrets as the deephaven/deephaven-core repository, so GitHub actions will fail. To disable GitHub actions in your forked repository, go to "Actions" -> "Disable Actions" in your forked repository settings (https://github.com/<username>/deephaven-core/settings/actions
).
Over time, forks will get out of sync with the upstream repository. To stay up to date, either:
- Navigate to
https://github.com/<username>/deephaven-core
and click onFetch upstream
, or - Follow these directions on Syncing A Fork.
For instructions on building and running, see Build and launch from source.
Pull requests can be created through the GitHub website or through the GitHub CLI.
Follow the directions in Creating A Pull Request From A Fork.
- Install GitHub command line tool.
- On the command line, cd into your checked-out fork/branch.
gh pr create -f -w
- Use
deephaven/deephaven-core
as the base repository. - Use
<username>/deephaven-core
as the repository to push to.
- Use
- Your changes should automatically get pushed, and then a new pull request with your changes should open up in your browser.
- Complete the information in the pull request and click
Create pull request
.
For more information, see:
The styleguide is applied globally to the entire project, except for generated code that gets checked in.
To apply the styleguide, run ./gradlew spotlessApply
.
The Deephaven Contributor License Agreement (CLA) must be accepted before a pull request can be merged. A bot monitors all pull requests. Follow the instructions from the bot in the pull request comments to accept the CLA. The Deephaven CLA and associated signatures are maintained at https://github.com/deephaven/cla.