Skip to content

Commit

Permalink
Adding changelog update in API generator (#669)
Browse files Browse the repository at this point in the history
* Update changelog with api generator

Signed-off-by: saimedhi <[email protected]>

* Update changelog with api generator

Signed-off-by: saimedhi <[email protected]>

---------

Signed-off-by: saimedhi <[email protected]>
  • Loading branch information
saimedhi authored Feb 7, 2024
1 parent 17a8471 commit b9d9bae
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 8 deletions.
6 changes: 0 additions & 6 deletions .github/workflows/update_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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')"
Expand Down
3 changes: 1 addition & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
27 changes: 27 additions & 0 deletions utils/generate_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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())

0 comments on commit b9d9bae

Please sign in to comment.