Contributing to Flyte#
Thank you for taking the time to contribute to Flyte!
Here are some guidelines for you to follow, which will make your first and follow-up contributions easier.
TL;DR: Find the repo-specific contribution guidelines in the Component Reference section.
💻 Becoming a contributor#
An issue tagged with good first issue is the best place to start for first-time contributors.
Fork and clone the concerned repository. Create a new branch on your fork and make the required changes. Create a pull request once your work is ready for review.
Note
To open a pull request, refer to GitHub’s guide for detailed instructions.
Example PR for your reference: GitHub PR. Several checks are introduced to help maintain the robustness of the project:
To get through DCO, sign off on every commit (Reference)
To improve code coverage, write unit tests to test your code.
Make sure all the tests pass. If you face any issues, please let us know in the #contribute channel
Format your Go code with
golangci-lint
followed bygoimports
(usemake lint
andmake goimports
)Format your Python code with
black
andisort
(usemake fmt
).If make targets are not available, you can manually format the code.
Note
Refer to Effective Go, Black, and Isort for full coding standards.
As you become more involved with the project, you may be able to be added as a committer to the repos you’re working on. Checkout the Flyte Contributor Ladder to learn more.
Before submitting your PR#
We strongly encourage you to add one of these labels to your Pull Request:
added: For new features.
changed: For changes in existing functionality.
deprecated: For soon-to-be-removed features.
removed: For features being removed.
fixed: For any bug fixes.
security: In case of vulnerabilities
This is helpful to build human-readable release notes. Learn more
Note
Learn how to apply a label to a PR in the Github docs.
🐞 File an issue#
We use GitHub Issues for issue tracking. The following issue types are available for filing an issue:
If none of the above fit your requirements, file a blank issue.
Also, add relevant labels to your issue. For example, if you are filing a Flytekit plugin request, add the flytekit
label.
For feedback at any point in the contribution process, feel free to reach out to us on Slack.