Definition of Done - cloudigrade/cloudigrade GitHub Wiki

As maintainers of cloudigrade and its related projects, we aim to meet the following criteria before we consider work tracked in issues to be "done":

  • all automated checks and related CI jobs pass
  • developer-oriented documentation and examples are updated
  • code review is complete and approved with no outstanding issues
  • all related pull requests have been merged to the master branch
  • acceptance criteria have been checked by someone other than the author
  • public user-facing documentation is updated or a plan has been defined to update it

FAQ

  • Q: Who merges a pull request?

    • A: The author (or any other maintainer if the author is unavailable or does not have permission) merges their pull request after all automated checks have passed and at least one other maintainer has reviewed and approved it.
  • Q: How do we verify documentation, and who does it?

    • A: Public user-facing documentation should be reviewed by at least one subject matter expert, preferably a developer who is familiar with the change. We currently only have an informal, verbal approval process for docs.
  • Q: When do we close an issue, and who does it?

    • A: We may close an issue only when all appropriate criteria are met. A maintainer other than whoever implemented the related changes should verify the acceptance criteria for completion and close the issue.
  • Q: When do we deploy to production?

    • A: We strive for near-continuous deployments but may not have a fully automated process. We release as soon as we feel there is value to deliver after merging code, and that may be multiple times a day.
  • Q: How do we decide to deploy to production, and who does it?

    • A: We consider the master branch to be "golden" and always prod-ready. Maintainers never knowingly commit or merge incomplete or broken functionality to master. Barring any critical newly-discovered bugs, we should be able to be deployed to stage or prod from the latest commit on master at any time.