diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index f554ce4f7bd5..a8032e29086e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -54,7 +54,5 @@ body: Thanks for submitting this issue! Are you a contributor? If not, have you thought about it? Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. - We are gauging interest in a potential system in which many companies pledge a little bit of time each to help get more people into these roles. - See [here](https://github.com/argoproj/argo-workflows/issues/12229) for more information. - If you think you or your company may be interested in getting involved, please add a comment to the issue. + See [Sustainability Effort](https://github.com/argoproj/argo-workflows/blob/main/community/sustainability_effort.md) for more information. diff --git a/.github/ISSUE_TEMPLATE/enhancement_proposal.md b/.github/ISSUE_TEMPLATE/enhancement_proposal.md index c8c3a3aba90a..19b563ee3ffc 100644 --- a/.github/ISSUE_TEMPLATE/enhancement_proposal.md +++ b/.github/ISSUE_TEMPLATE/enhancement_proposal.md @@ -15,16 +15,13 @@ When would you use this? **Message from the maintainers**: -Love this enhancement proposal? Give it a πŸ‘. We prioritise the proposals with the most πŸ‘. - diff --git a/.github/ISSUE_TEMPLATE/regression.yaml b/.github/ISSUE_TEMPLATE/regression.yaml index 6440b58e409b..e563f93dc38c 100644 --- a/.github/ISSUE_TEMPLATE/regression.yaml +++ b/.github/ISSUE_TEMPLATE/regression.yaml @@ -55,6 +55,4 @@ body: Thanks for submitting this issue! Are you a contributor? If not, have you thought about it? Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. - We are gauging interest in a potential system in which many companies pledge a little bit of time each to help get more people into these roles. - See [#12229](https://github.com/argoproj/argo-workflows/issues/12229) for more information. - If you think you or your company may be interested in getting involved, please add a comment to the issue. + See [Sustainability Effort](https://github.com/argoproj/argo-workflows/blob/main/community/sustainability_effort.md) for more information. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 1c48e054fb14..1a0f687f92ef 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -43,8 +43,6 @@ Fixes #TODO Thank you for submitting this! Have you ever thought of becoming a Reviewer or Approver on the project? Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. +See [Sustainability Effort](https://github.com/argoproj/argo-workflows/blob/main/community/sustainability_effort.md) for more information. -We are gauging interest in a potential system in which many companies pledge a little bit of time each to help get more people into these roles. -See [#12229](https://github.com/argoproj/argo-workflows/issues/12229) for more information. -If you think you or your company may be interested in getting involved, please add a comment to the issue. --> diff --git a/.spelling b/.spelling index 677a9a15fd8b..3da8d4203f2f 100644 --- a/.spelling +++ b/.spelling @@ -31,7 +31,9 @@ Alexandre Alibaba Ang Anthos +Approvers ArgoLabs +argoproj Artifactory BlackRock Breitgand @@ -46,6 +48,7 @@ DataDog Dataflow DevOps Dex +docs EditorConfig EtcD EventRouter @@ -165,6 +168,7 @@ minikube mutex namespace namespaces +non-member natively OpenAPI p.m. @@ -179,7 +183,10 @@ runtimes sandboxed stateful stderr +Triaging +triaged un-reconciled +UI v1 v1.0 v1.1 diff --git a/USERS.md b/USERS.md index 467da12d55b4..094b39ceb1f7 100644 --- a/USERS.md +++ b/USERS.md @@ -8,9 +8,7 @@ User community survey results are available: [2023](https://blog.argoproj.io/arg As the Argo Community grows, we'd like to keep track of our users. Please send a PR with your organization or project name in the following sections. Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. -We are gauging interest in a potential system in which many companies pledge a little bit of time each to help get more people into these roles. -See [#12229](https://github.com/argoproj/argo-workflows/issues/12229) for more information. -If you think you or your company may be interested in getting involved, please add a comment to the issue. +See [Sustainability Effort](https://github.com/argoproj/argo-workflows/blob/main/community/sustainability_effort.md) for more information. ### Organizations Using Argo diff --git a/community/README.md b/community/README.md index ba1ecf1b520b..b6870b06965b 100644 --- a/community/README.md +++ b/community/README.md @@ -2,4 +2,11 @@ Welcome to the Argo community! -Argo is an open, community driven project to make it easy to use Kubernetes for getting useful work done. [This document](https://github.com/argoproj/argoproj/blob/main/community/README.md) describes the organizational structure of the Argo Community including the roles, responsibilities and processes that govern Argo projects and community. +Argo is an open, community driven project to make it easy to use Kubernetes for getting useful work done. +The [Argoproj Community README](https://github.com/argoproj/argoproj/blob/main/community/README.md) describes the organizational structure and governance of Argo projects including roles, responsibilities, and processes. + +## Argo Workflows Sustainability Effort + +Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. +Please see [Sustainability Effort](sustainability_effort.md) for more information. + diff --git a/community/sustainability_effort.md b/community/sustainability_effort.md new file mode 100644 index 000000000000..9f40e01e90d4 --- /dev/null +++ b/community/sustainability_effort.md @@ -0,0 +1,59 @@ +# Argo Workflows Sustainability Effort + +Argo Workflows is seeking more community involvement and ultimately more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. + +We are trying an Incentive System in which contributors pledge a certain number of hours per week (average) to the project and in return have their PRs prioritized for review. + +## Where is help needed? + +Help is needed for: +* [reviewing PRs](#reviewing-PRs) +* [triaging](../docs/CONTRIBUTING.md#triaging-bugs) new bugs by prioritizing them with `P0`, `P1`, `P2`, and `P3` labels +* responding to questions in [Github Discussions](https://github.com/argoproj/argo-workflows/discussions) +* responding to questions in [CNCF Slack](https://argoproj.github.io/community/join-slack) in the `#argo-workflows` and `#argo-wf-contributors` channels + +## Commitment + +Argo Workflows has roles as described in the [Contributing](../docs/CONTRIBUTING.md#roles) document. +Any code contributor in a designated role or with an open Membership request can sign up to participate in this Incentive System. + +Participants are expected to try to advance in roles. +There are different expectations depending on the role: +- Member and non-member: should average a minimum of 6 hours per week of either [authoring PRs](../docs/CONTRIBUTING.md#authoring-prs) or performing any activities listed above in the ["Where is help needed?"](#where-is-help-needed) section + - Note that more time is required in this role in order to learn the codebase and processes to make sufficient progress +- Reviewer and above: should average a minimum of 2 hours per week performing any activities listed above in ["Where is help needed?"](#where-is-help-needed) section + - Highest priority is to ensure that all PRs labeled `prioritized-review` [have an Assignee](#reviewing-prs) + +Note that the hours per week listed above is an average over time; it's fine to have weeks of no activity so long as the average meets expectations. + +Participants should join the [`#argo-wf-contributors`](https://cloud-native.slack.com/archives/C0510EUH90V) Slack channel. + +### Reviewing PRs + +First priority is to review any PRs which have the [`prioritized-review` label](https://github.com/argoproj/argo-workflows/labels/prioritized-review), meaning they were authored by a participant of this system (verified by GitHub ID). +Each of these should have an Assignee: a Reviewer, Approver, or Lead who "owns" reviewing the PR.
+These PRs should be given an initial review within a week. +The Assignee should then respond to each question or requested modification from the author within a week. + +Next, look for PRs with no Assignee. + +For general guidance regarding PR Reviews, see [the Contributing docs](../CONTRIBUTING.md#reviewing-prs). + +### Authoring PRs + +Participants can apply a `prioritized-review` label to any PRs they author. + +## Participants + +If you'd like to participate, add yourself here in a PR. + +| Name | GitHub ID | +|---------------------------|---------------------------------------------------------| +| Alan Clucas | [`Joibel`](https://github.com/Joibel) | +| Anton Gilgur | [`agilgur5`](https://github.com/agilgur5) | +| Isitha Subasinghe | [`isubasinghe`](https://github.com/isubasinghe) | +| Jason Meridth | [`jmeridth`](https://github.com/jmeridth) | +| Julie Vogelman | [`juliev0`](https://github.com/juliev0) | +| Saravanan Balasubramanian | [`sarabala1979`](https://github.com/sarabala1979) | +| Shuangkun Tian | [`shuangkun`](https://github.com/shuangkun) | +| Yuan Tang | [`terrytangyuan`](https://github.com/terrytangyuan) | \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 9fad1cc64535..87e00b7a2240 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -16,30 +16,58 @@ please [see here](http://bit.ly/argo-wf-cmty-mtng). ## Contributor Meetings (twice monthly) -A weekly opportunity for committers and maintainers of Workflows and Events to discuss their current work and -talk about what’s next. Feel free to join us! For Contributor Meeting information, minutes and recordings -please [see here](https://bit.ly/argo-data-weekly). +An opportunity for contributors and maintainers of Workflows and Events to discuss their current work and talk about what’s next. Feel free to join us! +See the [Contributor Meeting doc](https://bit.ly/argo-data-weekly) for minutes, recordings, and more information. + +## Slack + +You can join the following channels on [CNCF Slack](https://argoproj.github.io/community/join-slack): + +* [`#argo-workflows`](https://cloud-native.slack.com/archives/C01QW9QSSSK): discussions focused mainly on use of Argo Workflows +* [`#argo-wf-contributors`](https://cloud-native.slack.com/archives/C0510EUH90V): discussions focused mainly on development of Argo Workflows + +## Roles + +The Argo project currently has 4 designated [roles](https://github.com/argoproj/argoproj/blob/main/community/membership.md): + +* Member +* Reviewer +* Approver +* Lead + +The Reviewer and Approver roles can optionally be scoped to an area of the code base (for example, UI or docs). + +Current roles for Reviewers and above can be found in [OWNERS](https://github.com/argoproj/argo-workflows/blob/main/OWNERS). + +If you are interested in formally joining the Argo project, [create a Membership request](https://github.com/argoproj/argoproj/issues/new?template=membership.md&title=REQUEST%3A%20New%20membership%20for%20%3Cyour-GH-handle%3E) in the [argoproj](https://github.com/argoproj/argoproj) repository as described in the [Membership](https://github.com/argoproj/argoproj/blob/main/community/membership.md) guide. ## How To Contribute We're always looking for contributors. -* Documentation - something missing or unclear? Please submit a pull request! -* Code contribution - investigate - a [good first issue](https://github.com/argoproj/argo-workflows/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) - , or anything not assigned. +### Authoring PRs + +* Documentation - something missing or unclear? Please submit a pull request according to our [docs contribution guide](doc-changes.md)! +* Code contribution - investigate a [good first issue](https://github.com/argoproj/argo-workflows/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22), [high priority bugs](#triaging-bugs), or anything not assigned. * You can work on an issue without being assigned. -* Join `#argo-wf-contributors` channel on [our Slack](https://argoproj.github.io/community/join-slack). -### Running Locally +#### Contributor Workshop + +Please check out the following resources if you are interested in contributing: + +* [90m hands-on contributor workshop](https://youtu.be/zZv0lNCDG9w). +* [Deep-dive into components and hands-on experiments](https://docs.google.com/presentation/d/1IU0a3unnr3tBRi38Zn3EHQZj3z6yvocfG9x9icRu1LE/edit?usp=sharing). +* [Architecture overview](https://github.com/argoproj/argo-workflows/blob/main/docs/architecture.md). + +#### Running Locally To run Argo Workflows locally for development: [running locally](running-locally.md). -### Committing +#### Committing See the [Committing Guidelines](running-locally.md#committing). -### Dependencies +#### Dependencies Dependencies increase the risk of security issues and have on-going maintenance costs. @@ -62,15 +90,39 @@ Example, should we add `fasttemplate` No, we should not add that dependency. -### Test Policy +#### Test Policy Changes without either unit or e2e tests are unlikely to be accepted. See [the pull request template](https://github.com/argoproj/argo-workflows/blob/main/.github/pull_request_template.md). -### Contributor Workshop +### Other Contributions -Please check out the following resources if you are interested in contributing: +* [Reviewing PRs](#reviewing-prs) +* Responding to questions in the [Slack](#slack) channels +* Responding to questions in [Github Discussions](https://github.com/argoproj/argo-workflows/discussions) +* [Triaging new bugs](#triaging-bugs) -* [90m hands-on contributor workshop](https://youtu.be/zZv0lNCDG9w). -* [Deep-dive into components and hands-on experiments](https://docs.google.com/presentation/d/1IU0a3unnr3tBRi38Zn3EHQZj3z6yvocfG9x9icRu1LE/edit?usp=sharing). -* [Architecture overview](https://github.com/argoproj/argo-workflows/blob/main/docs/architecture.md). +#### Reviewing PRs + +Anybody can review a PR. +If you are in a [designated role](#roles), add yourself as an "Assignee" to a PR if you plan to lead the review. +If you are a Reviewer or below, then once you have approved a PR, request a review from one or more Approvers and above. + +#### Triaging Bugs + +New bugs need to be triaged to identify the highest priority ones. + +Apply the labels `P0`, `P1`, `P2`, and `P3`, where `P0` is highest priority and needs immediate attention, followed by `P1`, `P2`, and then `P3`. +If there's a new `P0` bug, notify the [`#argo-wf-contributors`](https://cloud-native.slack.com/archives/C0510EUH90V) Slack channel. + +Any bugs with >= 5 "πŸ‘" reactions should be labeled at least `P1`. +Any bugs with 3-4 "πŸ‘" reactions should be labeled at least `P2`. +Bugs can be [sorted by "πŸ‘"](https://github.com/argoproj/argo-workflows/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3Abug). + +If the issue is determined to be a user error and not a bug, remove the `bug` label (and the `regression` label, if applicable) and replace it with the `support` label. +If more information is needed from the author to diagnose the issue, then apply the `more-information-needed` label. + +## Sustainability Effort + +Argo Workflows is seeking more [Reviewers and Approvers](https://github.com/argoproj/argoproj/blob/main/community/membership.md) to help keep it viable. +Please see [Sustainability Effort](https://github.com/argoproj/argo-workflows/blob/main/community/sustainability_effort.md) for more information.