Contributing to Flyte#

Tags: Contribute, Basic

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:

  1. To get through DCO, sign off on every commit (Reference)

  2. To improve code coverage, write unit tests to test your code.

  3. Make sure all the tests pass. If you face any issues, please let us know in the #contribute channel

  4. Format your Go code with golangci-lint followed by goimports (use make lint and make goimports)

  5. Format your Python code with black and isort (use make fmt).

  6. 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.