Please raise an issue in Github.
See CNCF Code of Conduct.
A monthly opportunity for users and maintainers of Workflows and Events to share their current work and hear about what's coming on the roadmap. Please join us! For Community Meeting information, minutes and recordings please see here.
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 for minutes, recordings, and more information.
You can join the following channels on CNCF Slack:
#argo-workflows: discussions focused mainly on use of Argo Workflows#argo-wf-contributors: discussions focused mainly on development of Argo Workflows
The Argo project currently has 4 designated roles:
- 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.
If you are interested in formally joining the Argo project, create a Membership request in the argoproj repository as described in the Membership guide.
We're always looking for contributors.
- Documentation - something missing or unclear? Please submit a pull request according to our docs contribution guide!
- Code contribution - investigate a good first issue, high priority bugs, or anything not assigned.
- You can work on an issue without being assigned.
Please check out the following resources if you are interested in contributing:
- 90m hands-on contributor workshop.
- Deep-dive into components and hands-on experiments.
- Architecture overview.
To run Argo Workflows locally for development: running locally.
See the Committing Guidelines.
Dependencies increase the risk of security issues and have on-going maintenance costs.
The dependency must pass these test:
- A strong use case.
- It has an acceptable license (e.g. MIT).
- It is actively maintained.
- It has no security issues.
Example, should we add fasttemplate, view the Snyk report:
| Test | Outcome |
|---|---|
| A strong use case. | ❌ Fail. We can use text/template. |
| It has an acceptable license (e.g. MIT) | ✅ Pass. MIT license. |
| It is actively maintained. | ❌ Fail. Project is inactive. |
| It has no security issues. | ✅ Pass. No known security issues. |
No, we should not add that dependency.
Changes without either unit or e2e tests are unlikely to be accepted. See the pull request template.
- Reviewing PRs
- Responding to questions in the Slack channels
- Responding to questions in Github Discussions
- Triaging new bugs
Anybody can review a PR. If you are in a designated role, 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.
We encourage PR authors and reviewers to respond to change requests in a reasonable time frame. If you're on vacation or will be unavailable, please let others know on the PR.
If a PR hasn't seen activity from the author for 10 business days, someone else may ask to take it over.
We suggest commenting on the original PR and tagging the author to check on their plans.
Maintainers can reassign PRs to new contributors if the original author doesn't respond with a plan.
For PRs that have been inactive for 3 months, the takeover process can happen immediately.
IMPORTANT: If a PR is taken over and uses any code from the previous PR, the original author must be credited using Co-authored-by on the commits.
New bugs need to be triaged to identify the highest priority ones. Any Member can triage bugs.
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 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 "👍".
If the issue is determined to be a user error and not a bug, remove the type/bug label (and the type/regression label, if applicable) and replace it with the type/support label.
If more information is needed from the author to diagnose the issue, then apply the problem/more information needed label.
Only issues and PRs that have the problem/more information needed label will be considered for staleness.
If the author does not respond timely to a request for more information, the issue or PR will be automatically marked with the problem/stale label and a bot message.
Subsequently, if there is still no response, it will be automatically closed as "not planned".
See the Stale Action configuration for more details.
As a member (see roles) of the argo-project you can use the following comments on PRs to trigger actions:
/retest- re-run any failing test cases
If your PR contains a bug fix, and you want to have that fix backported to a previous release branch, please label your PR with cherry-pick/x.y (example: cherry-pick/3.1).
If you do not have access to add labels, ask a maintainer to add them for you.
If you add labels before the PR is merged, the cherry-pick bot will open the backport PRs when your PR is merged.
Adding a label after the PR is merged will also cause the bot to open the backport PR.
Argo Workflows is seeking more community involvement and ultimately more Reviewers and Approvers to help keep it viable.
Help is needed for:
- reviewing PRs
- triaging new bugs by prioritizing them with
P0,P1,P2, andP3labels - responding to questions in Github Discussions
- responding to questions in CNCF Slack in the
#argo-workflowsand#argo-wf-contributorschannels - releasing new versions