This is the process we suggest for contributions. This process is designed to reduce the burden on project reviewers, impact on other contributors, and to keep the amount of rework from the contributor to a minimum.
Sign the contributor license agreement.
Start a discussion by creating a GitHub issue, or asking on Slack (unless the change is trivial, for example a spelling fix in the documentation).
Implement the change
[WIP]
, and share with collaborators.Create a GitHub pull request (PR).
There are some tests that use external services, like Google BigQuery, and require additional credentials. The Trino project cannot share these credentials with contributors, so it runs these tests in its CI workflows only on branches in the Trino repository, not in contributor forks.
Trino maintainers can schedule additional workflow runs after reviewing a PR by adding a comment starting with this line:
/test-with-secrets sha=<all-40-characters>
The SHA value should be the full 40 character git SHA of a commit of the feature branch, usually the head commit.
Review is performed by one or more reviewers.
Address concerns and update the pull request.
fixup!
commit
placed after each commit. This is to make it easier for the reviewer to
see what was updated.Maintainer merges the pull request after final changes are accepted.
Maintainers organize a release to ship the next Trino version with your improvements.