From 8b40f96584a9775b563d0353c2d9e9a6b3510e27 Mon Sep 17 00:00:00 2001 From: Alexander Matyushentsev Date: Thu, 1 Jul 2021 08:55:07 -0700 Subject: [PATCH] docs: document Argo CD development process (#6546) docs: document Argo CD development process (#6546) Signed-off-by: Alexander Matyushentsev --- controller/OWNERS | 2 + .../release-process-and-cadence.md | 48 +++++++++++++++++++ mkdocs.yml | 1 + reposerver/OWNERS | 3 ++ ui/OWNERS | 3 ++ util/db/OWNERS | 2 + util/git/OWNERS | 3 ++ util/gpg/OWNERS | 2 + util/helm/OWNERS | 3 ++ 9 files changed, 67 insertions(+) create mode 100644 controller/OWNERS create mode 100644 docs/developer-guide/release-process-and-cadence.md create mode 100644 reposerver/OWNERS create mode 100644 ui/OWNERS create mode 100644 util/db/OWNERS create mode 100644 util/git/OWNERS create mode 100644 util/gpg/OWNERS create mode 100644 util/helm/OWNERS diff --git a/controller/OWNERS b/controller/OWNERS new file mode 100644 index 0000000000000..03538861101ae --- /dev/null +++ b/controller/OWNERS @@ -0,0 +1,2 @@ +owners: +- alexmt diff --git a/docs/developer-guide/release-process-and-cadence.md b/docs/developer-guide/release-process-and-cadence.md new file mode 100644 index 0000000000000..62c7e4a4874c1 --- /dev/null +++ b/docs/developer-guide/release-process-and-cadence.md @@ -0,0 +1,48 @@ +# Release Process And Cadence + +Argo CD is being developed using the following process: + +* Maintainers commit to work on set of features and enhancements and create GitHub milestone to track the work. +* We are trying to avoid delaying release and prefer moving the feature into the next release if we cannot complete it on time. +* The new release is published every **3 month**. +* Critical bug-fixes are cherry-picked into the release branch and delivered using patch releases as frequently as needed. + +## Release Planning + +We are using GitHub milestones to perform release planning and tracking. Each release milestone includes two type of issues: + +* Issues that maintainers committed to working on. Maintainers decide which features they are committing to work on during the next release based on + their availability. Typically issues added offline by each maintainer and finalized during the contributors' meeting. Each such issue should be + assigned to maintainer who plans to implement and test it. +* Nice to have improvements contributed by community contributors. Nice to have issues are typically not critical, smallish enhancements that could + be contributed by community contributors. Maintainers are not committing to implement them but committing to review PR from the community. + +The milestone should have a clear description of the most important features as well as the expected end date. This should provide clarity to end-users +about what to expect from the next release and when. + +In addition to the next milestone, we need to maintain a draft of the upcoming release milestone. + +## Community Contributions + +We receive a lot of contributions from our awesome community, and we're very grateful for that fact. However, reviewing and testing PRs is a lot of (unplanned) work and therefore, we cannot guarantee that contributions (especially large or complex ones) made by the community receive a timely review within a release's time frame. Maintainers may decide on their own to put work on a PR together with the contributor and in this case, the maintainer will self-assigned the PR and thereby committing to review, eventually merge and later test it on the release scope. + +## Release Testing + +We need to make sure that each change, both from maintainers and community contributors, is tested well and have someone who is going to fix last-minute +bugs. In order to ensure it, each merged pull request must have an assigned maintainer before it gets merged. The assigned maintainer will be working on +testing the introduced changes and fixing of any introduced bugs. + +We have a code freeze period two weeks before the release until the release branch is created. During code freeze no feature PR should be merged and it is ok +to merge bug fixes. + +Maintainers assigned to a PR that's been merged should drive testing and work on fixing last-minute issues. For tracking purposes after verifying PR the assigned +the maintainer should label it with a `verified` label. + +## Releasing + +The releasing procedure is described in [releasing](./releasing.md) document. Before closing the release milestone following should be verified: + +- [ ] All merged PRs have the `verified` label +- [ ] Roadmap is updated based one current release changes +- [ ] Next release milestone is created +- [ ] Upcoming release milestone is updated \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 303e646f4347f..d2d5d1f0bb754 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -110,6 +110,7 @@ nav: - Developer Guide: - developer-guide/index.md - developer-guide/contributing.md + - developer-guide/release-process-and-cadence.md - developer-guide/running-locally.md - developer-guide/debugging-remote-environment.md - developer-guide/use-gitpod.md diff --git a/reposerver/OWNERS b/reposerver/OWNERS new file mode 100644 index 0000000000000..0c9a4c7a4f476 --- /dev/null +++ b/reposerver/OWNERS @@ -0,0 +1,3 @@ +owners: +- jgwest +- mayzhang2000 diff --git a/ui/OWNERS b/ui/OWNERS new file mode 100644 index 0000000000000..dadbabefcb289 --- /dev/null +++ b/ui/OWNERS @@ -0,0 +1,3 @@ +owners: +- rbreeze +- reginapizza diff --git a/util/db/OWNERS b/util/db/OWNERS new file mode 100644 index 0000000000000..03538861101ae --- /dev/null +++ b/util/db/OWNERS @@ -0,0 +1,2 @@ +owners: +- alexmt diff --git a/util/git/OWNERS b/util/git/OWNERS new file mode 100644 index 0000000000000..4fb7a97c281fe --- /dev/null +++ b/util/git/OWNERS @@ -0,0 +1,3 @@ +owners: +- alexmt +- jannfis diff --git a/util/gpg/OWNERS b/util/gpg/OWNERS new file mode 100644 index 0000000000000..c33fbff67fb73 --- /dev/null +++ b/util/gpg/OWNERS @@ -0,0 +1,2 @@ +owners: +- jannfis diff --git a/util/helm/OWNERS b/util/helm/OWNERS new file mode 100644 index 0000000000000..4fb7a97c281fe --- /dev/null +++ b/util/helm/OWNERS @@ -0,0 +1,3 @@ +owners: +- alexmt +- jannfis