From f8986a92ecf8c39d18bd64303c8b6687653a433d Mon Sep 17 00:00:00 2001 From: Kunal Kotwani Date: Wed, 17 Aug 2022 19:26:14 -0700 Subject: [PATCH] Update format for changelog, add developer documentation Signed-off-by: Kunal Kotwani --- .github/pull_request_template.md | 1 + .github/workflows/changelog_verifier.yml | 6 +-- CHANGELOG.md | 3 +- CONTRIBUTING.md | 47 ++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 4 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d7981b5113972..0425ff03de2db 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -10,6 +10,7 @@ - [ ] New functionality has been documented. - [ ] New functionality has javadoc added - [ ] Commits are signed per the DCO using --signoff +- [ ] Commit changes are listed out in CHANGELOG.md file (See: [Changelog](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#changelog)) By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. For more information on following Developer Certificate of Origin and signing off your commits, please check [here](https://github.com/opensearch-project/OpenSearch/blob/main/CONTRIBUTING.md#developer-certificate-of-origin). diff --git a/.github/workflows/changelog_verifier.yml b/.github/workflows/changelog_verifier.yml index 6571a8d48dd3e..505b02426f22c 100644 --- a/.github/workflows/changelog_verifier.yml +++ b/.github/workflows/changelog_verifier.yml @@ -1,21 +1,21 @@ name: "Changelog Verifier" on: pull_request: - types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] + types: [opened, edited, review_requested, synchronize, reopened, ready_for_review, labeled, unlabeled] jobs: # Enforces the update of a changelog file on every pull request verify-changelog: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3.0.2 + - uses: actions/checkout@v3 with: token: ${{ secrets.GITHUB_TOKEN }} ref: ${{ github.event.pull_request.head.ref }} - uses: dangoslen/dependabot-changelog-helper@v1 - - uses: stefanzweifel/git-auto-commit-action@v4.14.1 + - uses: stefanzweifel/git-auto-commit-action@v4 with: commit_message: "Update changelog" diff --git a/CHANGELOG.md b/CHANGELOG.md index 806ae8827f8e5..d1f2d822f9c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,8 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [ UNRELEASED ] ### Added -- Github workflow for changelog verification +- Github workflow for changelog verification ([#4085](https://github.com/opensearch-project/OpenSearch/pull/4085)) +- Your change here ([#PR_NUMBER](PR_URL)) ### Changed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 467c7716cc578..5e5399c5d6d84 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,6 +6,7 @@ - [Documentation Changes](#documentation-changes) - [Contributing Code](#contributing-code) - [Developer Certificate of Origin](#developer-certificate-of-origin) + - [Changelog](#changelog) - [Review Process](#review-process) # Contributing to OpenSearch @@ -116,6 +117,52 @@ Signed-off-by: Jane Smith ``` You may type this line on your own when writing your commit messages. However, if your user.name and user.email are set in your git configs, you can use `-s` or `--signoff` to add the `Signed-off-by` line to the end of the commit message. +## Changelog + +OpenSearch maintains version specific changelog by enforcing a change to the ongoing [CHANGELOG](CHANGELOG.md) file adhering to the [Keep A Changelog](https://keepachangelog.com/en/1.0.0/) format. + +Briefly, the changes are curated by version, with the changes to the main branch added chronologically to `Unreleased` version. Further, each version has corresponding sections which list out the category of the change - `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`. + + +### How to add my changes to CHANGELOG](CHANGELOG.md)? + +As a contributor, you must ensure that every pull request has the changes listed out within the corresponding version and appropriate section of [CHANGELOG](CHANGELOG.md) file. + +Adding in the change is two step process - +1. Add your changes to the corresponding section within the CHANGELOG file with dummy pull request information, publish the PR + + `Your change here ([#PR_NUMBER](PR_URL))` + +2. Update your changes with the corresponding `PR_NUMBER` and `PR_URL` and push out the new commit. + +For example, as a contributor, my change adds support for a new `FooBar` client, the changes would look like - + +``` +# CHANGELOG +Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) + +## [ UNRELEASED ] +### Added +- ... +- Add support for FooBar client ([#9999](https://github.com/opensearch-project/OpenSearch/pull/9999)) +- Your change here ([#PR_NUMBER](PR_URL)) + +### Changed +- ... + +### Deprecated +- ... + +### Removed +- ... + +### Fixed +- ... + +### Security +- ... +``` + ## Review Process We deeply appreciate everyone who takes the time to make a contribution. We will review all contributions as quickly as possible. As a reminder, [opening an issue](https://github.com/opensearch-project/OpenSearch/issues/new/choose) discussing your change before you make it is the best way to smooth the PR process. This will prevent a rejection because someone else is already working on the problem, or because the solution is incompatible with the architectural direction.