Adding changelog update in API generator (#669)

* Update changelog with api generator

Signed-off-by: saimedhi <saimedhi@amazon.com>

* Update changelog with api generator

Signed-off-by: saimedhi <saimedhi@amazon.com>

---------

Signed-off-by: saimedhi <saimedhi@amazon.com>
This commit is contained in:
Sai Medhini Reddy Maryada
2024-02-07 13:23:44 -08:00
committed by GitHub
parent 17a8471987
commit b9d9bae06e
3 changed files with 28 additions and 8 deletions
-6
View File
@@ -26,12 +26,6 @@ jobs:
python3.7 -m pip install nox
- name: Generate API
run: nox -s generate
- name: Update CHANGELOG
uses: jacobtomlinson/gha-find-replace@v3
with:
find: "- Your contribution here."
replace: "- Updated opensearch-py to reflect the latest OpenSearch API spec.\n- Your contribution here."
include: "**CHANGELOG.md"
- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"
+1 -2
View File
@@ -22,8 +22,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
### Fixed
- Fix KeyError when scroll return no hits ([#616](https://github.com/opensearch-project/opensearch-py/pull/616))
- Fix reuse of `OpenSearch` using `Urllib3HttpConnection` and `AsyncOpenSearch` after calling `close` ([#639](https://github.com/opensearch-project/opensearch-py/pull/639))
### Automated API Update
- Your contribution here.
### Updated APIs
### Security
### Dependencies
- Bumps `pytest-asyncio` from <=0.21.1 to <=0.23.4
+27
View File
@@ -764,6 +764,33 @@ def dump_modules(modules: Any) -> None:
unasync.unasync_files(filepaths, rules)
blacken(CODE_ROOT / "opensearchpy")
# Updating the CHANGELOG.md
response = requests.get(
"https://api.github.com/repos/opensearch-project/opensearch-api-specification/commits"
)
if response.ok:
commit_info = response.json()[0]
commit_url = commit_info["html_url"]
latest_commit_sha = commit_info.get("sha")
else:
raise Exception(
f"Failed to fetch opensearch-api-specification commit information. Status code: {response.status_code}"
)
with open("CHANGELOG.md", "r+", encoding="utf-8") as file:
content = file.read()
if "### Updated APIs" in content:
file_content = content.replace(
"### Updated APIs",
f"### Updated APIs\n- Updated opensearch-py APIs to reflect [opensearch-api-specification@{latest_commit_sha[:7]}]({commit_url})",
1,
)
file.seek(0)
file.write(file_content)
file.truncate()
else:
raise Exception("'Updated APIs' section is not present in CHANGELOG.md")
if __name__ == "__main__":
dump_modules(read_modules())