Hi! Thanks for your interest in TileDB-CSharp. The following notes are intended to help you file issues, bug reports, or contribute code to the open source TileDB-CSharp project.
-
Reporting a bug? Please read how to file a bug report section to make sure sufficient information is included.
-
Contributing code? You rock! Be sure to review the contributor section for helpful tips on the tools we use to build TileDB-CSharp, format code, and issue pull requests (PRs).
A useful bug report filed as a GitHub issue provides information about how to reproduce the error.
-
Before opening a new GitHub issue try searching the existing issues to see if someone else has already noticed the same problem.
-
When filing a bug report, provide where possible:
- The version of TileDB or, if a
mainversion, the specific commit that triggers the error. - The full error message, including the stack trace (if possible).
- A minimal working example, i.e. the smallest chunk of code that triggers the error. Ideally, this should be code that can be a small reduced C# source file. If the code to reproduce is somewhat long, consider putting it in a gist.
- When pasting code blocks or output, put triple backquotes (```) around the text so GitHub will format it nicely. Code statements should be surrounded by single backquotes (`). See GitHub's guide on Markdown for more formatting tricks.
By contributing code to TileDB-CSharp, you are agreeing to release it under the MIT License.
-
From your local machine:
git clone https://github.com/username/TileDB-CSharp cd TileDB-CSharp git checkout -b <my_initials>/<my_bugfix_branch>
git add <my_changed_files> git commit -m "my commit message" git push --set-upstream origin <my_initials>/<my_bugfix_branch>
Branch conventions:
mainis the development branch of TileDB. All PR's are merged intomain.release-x.y.zare major/bugfix release branches of TileDB.
The TileDB.CSharp project uses the official native binaries from NuGet. You can during development provide your own native library for purposes like testing. To do that, you have to go to the Directory.Packages.props file of your repository, and set the LocalLibraryFile property to the path of your local native binary. This will bypass the standard acquisition mechanism and simply copy the libeary to your project's output directory.
Note: The shipped TileDB.CSharp NuGet package supports only the official native binaries at the moment. Please contact us or open a GitHub issue if you want to use TileDB from C# with custom native binaries.
-
mainis the development branch, all PR’s should be rebased on top of the latestmaincommit. -
Commit changes to a local branch. The convention is to use your initials to identify branches: (ex. “Fred Jones” ,
fj/my_bugfix_branch). Branch names should be identifiable and reflect the feature or bug that they want to address / fix. This helps in deleting old branches later. -
When ready to submit a PR,
git rebasethe branch on top of the latestmaincommit. Be sure to squash / cleanup the commit history so that the PR preferably one, or a couple commits at most. Each atomic commit in a PR should be able to pass the test suite. -
Make sure that your contribution generally follows the format and naming conventions used by surrounding code.
-
Submit a PR, writing a descriptive message. If a PR closes an open issue, reference the issue in the PR message (ex. If an issue closes issue number 10, you would write
closes #10) -
Make sure CI (continuous integration) is passing for your PR -- click
Show all checksin the pull request status box at the bottom of each PR page.