Skip to content

Commit

Permalink
Update contribution guides (flyteorg#6150)
Browse files Browse the repository at this point in the history
* Update guidelines and add links

Signed-off-by: davidmirror-ops <[email protected]>

* Update PR template

Signed-off-by: davidmirror-ops <[email protected]>

* Move instructions between pages for clarity

Signed-off-by: davidmirror-ops <[email protected]>

* Update links and hours for community syncs

Signed-off-by: davidmirror-ops <[email protected]>

* Add notes about PR labels

Signed-off-by: davidmirror-ops <[email protected]>

* Replace permissions warning

Signed-off-by: davidmirror-ops <[email protected]>

* Fix CI test results

Signed-off-by: davidmirror-ops <[email protected]>

---------

Signed-off-by: davidmirror-ops <[email protected]>
  • Loading branch information
davidmirror-ops authored Jan 9, 2025
1 parent 27c9edd commit 9193dd6
Show file tree
Hide file tree
Showing 8 changed files with 98 additions and 58 deletions.
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,17 @@ If tests were added, say they were added here. Please make sure to add some test
If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future.
If tests were not added, please describe why they were not added and/or why it was difficult to add.
-->
### Labels

Please add one or more of the following labels to categorize your PR:
- **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 fixed.
- **security**: In case of vulnerabilities

This is important to improve the readability of release notes.

### Setup process

Expand Down
4 changes: 2 additions & 2 deletions docker/sandbox-bundled/manifests/complete-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -823,7 +823,7 @@ type: Opaque
---
apiVersion: v1
data:
haSharedSecret: ZVg2MDdXYnJyNXlYUWlLSA==
haSharedSecret: VFRKYXBKM2xsTERQb1ZDaQ==
proxyPassword: ""
proxyUsername: ""
kind: Secret
Expand Down Expand Up @@ -1420,7 +1420,7 @@ spec:
metadata:
annotations:
checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81
checksum/secret: 4d048d7850540d6862f070a28041c7c814d011e537872aecce2159789db2db79
checksum/secret: 4c7bc4fbd20227034bda9ead9cd941c94879028d6920b98113f9a08ef3c6f9d9
labels:
app: docker-registry
release: flyte-sandbox
Expand Down
4 changes: 2 additions & 2 deletions docker/sandbox-bundled/manifests/complete.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -805,7 +805,7 @@ type: Opaque
---
apiVersion: v1
data:
haSharedSecret: VXRnT3hJaE9CMEZldDJubg==
haSharedSecret: Zm4xWHVaRlNsb2EyVFFIVg==
proxyPassword: ""
proxyUsername: ""
kind: Secret
Expand Down Expand Up @@ -1369,7 +1369,7 @@ spec:
metadata:
annotations:
checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81
checksum/secret: 8a6224d331e9ccebb789367315d7f9677d9f4c7886640c8baeea547432cca5ad
checksum/secret: fdbda8db15a09ca5943cc534a824402836c98722de81d1631c45099a8e04b043
labels:
app: docker-registry
release: flyte-sandbox
Expand Down
4 changes: 2 additions & 2 deletions docker/sandbox-bundled/manifests/dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -499,7 +499,7 @@ metadata:
---
apiVersion: v1
data:
haSharedSecret: bnFsU3VrQTFsRmd0azdvcQ==
haSharedSecret: RjY3OEtOeFVDMjFabkI0SA==
proxyPassword: ""
proxyUsername: ""
kind: Secret
Expand Down Expand Up @@ -934,7 +934,7 @@ spec:
metadata:
annotations:
checksum/config: 8f50e768255a87f078ba8b9879a0c174c3e045ffb46ac8723d2eedbe293c8d81
checksum/secret: 492f9045abb64dc1e4f8fa90bb957960ea3ccd8d03b424a3a2fa2a83bfb87531
checksum/secret: 6ab17d37fe9743709a5aa2a140c06a7a25fe33cfe4d6c0cbcb2ddf0a2dcf1675
labels:
app: docker-registry
release: flyte-sandbox
Expand Down
36 changes: 3 additions & 33 deletions docs/community/contribute/contribute_code.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ Contributing code

To understand how the below components interact with each other, refer to :ref:`Understand the lifecycle of a workflow <workflow-lifecycle>`.

.. note::
With the exception of ``flytekit``, the below components are maintained in the `flyte <https://github.com/flyteorg/flyte>`__ monorepo.

.. figure:: https://raw.githubusercontent.com/flyteorg/static-resources/main/flyte/contribution_guide/dependency_graph.png
:alt: Dependency graph between various flyteorg repos
:align: center
Expand All @@ -25,39 +28,6 @@ To understand how the below components interact with each other, refer to :ref:`
* - **Purpose**: Deployment, Documentation, and Issues
* - **Languages**: RST

In the ``flyteorg/flyte`` root directory you can run ``make dev-docs`` to build the documentation locally. The generated documentation will be in the ``docs/_build/html`` directory.

**Setup process**

1. First you need to make sure you can run linux/amd64 container
2. Run the following commands to build the documentation and serve it locally

.. prompt:: bash $

make dev-docs
python -m http.server --directory docs/_build/html

3. Go to http://localhost:8000 to see the documentation.

**Supported environment variables of** ``make dev-docs``

* ``DEV_DOCS_WATCH``: If set, the docs will be built and served using `sphinx-autobuild <https://github.com/sphinx-doc/sphinx-autobuild>`__ for live updates.
* ``FLYTEKIT_LOCAL_PATH``: If set, the local path to flytekit will be used instead of the source code from the ``flyteorg/flytekit repo``.
* ``FLYTECTL_LOCAL_PATH``: If set, the local path to flytectl will be used instead of the source code from the ``flyteorg/flytectl repo``.
* ``FLYTESNACKS_LOCAL_PATH``: If set, the local path to flytesnacks will be used instead of the source code from the ``flyteorg/flytesnacks`` repo.

For example, to use the local flytekit source code instead of the source code from the ``flyteorg/flytekit`` repo, run ``export FLYTEKIT_LOCAL_PATH=/path/to/flytekit`` before running ``make dev-docs``.

**Alternative conda setup steps**

* Install ``conda``.
* We recommend Miniconda installed with an `official installer <https://docs.conda.io/projects/miniconda/en/latest/index.html#latest-miniconda-installer-links>`__.
* Install `conda-lock <https://github.com/conda/conda-lock>`__.
* In the ``flyteorg/flyte`` root directory run:
* ``conda-lock install --name monodocs-env monodocs-environment.lock.yaml``
* ``conda activate monodocs-env``
* ``pip install ./flyteidl``

``flyteidl``
************

Expand Down
35 changes: 34 additions & 1 deletion docs/community/contribute/contribute_docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,40 @@ The Flyte documentation comprises the following types:
* **{ref}`Deployment documentation <deployment>`:** Guidance on deploying and configuring the Flyte backend.
* **{doc}`API documentation <../../api/index>`:** flytekit, flytectl, and flyteidl documentation.

For minor edits that don't require a local setup, you can edit the page in GitHub page to propose improvements.
For minor edits that don't require a local setup, you can edit the page in GitHub page to propose improvements.}

In the ``flyteorg/flyte`` root directory you can run ``make dev-docs`` to build the documentation locally. The generated documentation will be in the ``docs/_build/html`` directory.

**Setup process**

1. First you need to make sure you can run linux/amd64 container
2. From the root of your fork, run the following commands to build the documentation and serve it locally

.. prompt:: bash $

make dev-docs
python -m http.server --directory docs/_build/html

3. Go to http://localhost:8000 to see the documentation.

**Supported environment variables of** ``make dev-docs``

* ``DEV_DOCS_WATCH``: If set, the docs will be built and served using `sphinx-autobuild <https://github.com/sphinx-doc/sphinx-autobuild>`__ for live updates.
* ``FLYTEKIT_LOCAL_PATH``: If set, the local path to flytekit will be used instead of the source code from the ``flyteorg/flytekit repo``.
* ``FLYTECTL_LOCAL_PATH``: If set, the local path to flytectl will be used instead of the source code from the ``flyteorg/flytectl repo``.
* ``FLYTESNACKS_LOCAL_PATH``: If set, the local path to flytesnacks will be used instead of the source code from the ``flyteorg/flytesnacks`` repo.

For example, to use the local flytekit source code instead of the source code from the ``flyteorg/flytekit`` repo, run ``export FLYTEKIT_LOCAL_PATH=/path/to/flytekit`` before running ``make dev-docs``.

**Alternative conda setup steps**

* Install ``conda``.
* We recommend Miniconda installed with an `official installer <https://docs.conda.io/projects/miniconda/en/latest/index.html#latest-miniconda-installer-links>`__.
* Install `conda-lock <https://github.com/conda/conda-lock>`__.
* In the ``flyteorg/flyte`` root directory run:
* ``conda-lock install --name monodocs-env monodocs-environment.lock.yaml``
* ``conda activate monodocs-env``
* ``pip install ./flyteidl``

## Contributing to user guide and deployment documentation

Expand Down
39 changes: 28 additions & 11 deletions docs/community/contribute/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Contributing to Flyte
.. tags:: Contribute, Basic

Thank you for taking the time to contribute to Flyte!
Please read our `Code of Conduct <https://lfprojects.org/policies/code-of-conduct/>`__ before contributing to Flyte.

Here are some guidelines for you to follow, which will make your first and follow-up contributions easier.

Expand All @@ -18,24 +17,42 @@ TL;DR: Find the repo-specific contribution guidelines in the :ref:`Component Ref

An issue tagged with `good first issue <https://github.com/flyteorg/flyte/labels/good%20first%20issue>`__ is the best place to start for first-time contributors.

**Appetizer for every repo: 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.**
**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 <https://guides.github.com/activities/forking/>`__ for detailed instructions.

Example PR for your reference: `GitHub PR <https://github.com/flyteorg/flytepropeller/pull/242>`__.
A couple of checks are introduced to help maintain the robustness of the project.
Several checks are introduced to help maintain the robustness of the project:

#. To get through DCO, sign off on every commit (`Reference <https://github.com/src-d/guide/blob/master/developer-community/fix-DCO.md>`__)
#. 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
#. 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 <https://flyte-org.slack.com/archives/C04NJPLRWUX>`__ channel
#. Format your Go code with ``golangci-lint`` followed by ``goimports`` (use ``make lint`` and ``make goimports``)
#. Format your Python code with ``black`` and ``isort`` (use ``make fmt``).
#. If make targets are not available, you can manually format the code.

On a side note, format your Go code with ``golangci-lint`` followed by ``goimports`` (use ``make lint`` and ``make goimports``), and Python code with ``black`` and ``isort`` (use ``make fmt``).
If make targets are not available, you can manually format the code.
Refer to `Effective Go <https://golang.org/doc/effective_go>`__, `Black <https://github.com/psf/black>`__, and `Isort <https://github.com/PyCQA/isort>`__ for full coding standards.
.. note::
Refer to `Effective Go <https://golang.org/doc/effective_go>`__, `Black <https://github.com/psf/black>`__, and `Isort <https://github.com/PyCQA/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 <https://github.com/flyteorg/community/blob/main/GOVERNANCE.md#community-roles-and-path-to-maintainership>`__ to learn more.

Before submitting your PR
**************************

We strongly encourage you to add one of these labels to your Pull Request:

As you become more involved with the project, you may be able to be added as a contributor to the repos you're working on,
but there is a medium term effort to move all development to forks.
- **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 <https://keepachangelog.com/en/1.1.0/>`__

.. note::
Learn how to apply a label to a PR in the `Github docs <https://docs.github.com/en/issues/using-labels-and-milestones-to-track-work/managing-labels#applying-a-label>`__.

🐞 File an issue
================
Expand All @@ -53,7 +70,7 @@ We use `GitHub Issues <https://github.com/flyteorg/flyte/issues>`__ for issue tr
If none of the above fit your requirements, file a `blank <https://github.com/flyteorg/flyte/issues/new>`__ 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 <https://slack.flyte.org/>`__.
For feedback at any point in the contribution process, feel free to reach out to us on `Slack <https://flyte-org.slack.com/archives/C04NJPLRWUX>`__.

.. toctree::
:maxdepth: 1
Expand Down
23 changes: 16 additions & 7 deletions docs/community/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,25 @@ Please join us on:
:alt: LinkedIn


Open Source Community Meeting
-----------------------------
Community Sync
--------------

#. When: First tuesday of every month, 9:00 AM Pacific Time.
#. Where: live streamed on `YouTube <https://www.youtube.com/@flyteorg/streams>`__ and `LinkedIn <https://www.linkedin.com/company/union-ai/events/>`__.
#. Watch the `recordings <https://www.youtube.com/live/d81Jd4rfmzw?feature=shared>`__
#. Import the public `calendar <https://lists.lfaidata.foundation/g/flyte-announce/ics/12031983/2145304139/feed.ics>`_ to not miss any event.
#. If you want to give a presentation to the Flyte community, please fill out `this form <https://tally.so/r/wgN8LM>__`. We're eager to learn from you!

When: Every other Thursday, 11:00 AM Pacific Time.
You're welcome to join and learn from other community members sharing their experiences with Flyte or any other technology from the AI ecosystem.
Check out the event details and add it to your `calendar <https://www.addevent.com/event/EA7823958>`_, or just pop in!

.. image:: https://img.shields.io/badge/Join-Zoom-blue?style=for-the-badge
:target: https://www.addevent.com/event/EA7823958
:alt: Zoom Link
Contributor's Sync
------------------

#. When: every 2 weeks on Thursdays. Alternating schedule between 11:00 am PT and 7:00 am PT.
#. Where: live on `Zoom <https://zoom-lfx.platform.linuxfoundation.org/meeting/92309721545?password=c93d76a7-801a-47c6-9916-08e38e5a5c1f>`__.
#. Purpose: address questions from new contributors, discuss active initiatives and RFCs.
#. Import the public `calendar <https://lists.lfaidata.foundation/g/flyte-announce/ics/12031983/2145304139/feed.ics>`_ to not miss any event.


Newsletter
----------
Expand Down

0 comments on commit 9193dd6

Please sign in to comment.