googleapis / googleapis/google-cloud-python

automated release fails due to missing PyPI history anchor

オープン
#16,188 コメント 2 件 リアクション 2 件 担当者 1 名 @gkevinzheng が担当を希望しています GitHub で見る
主要言語
Python
スター
5.4k
フォーク
1.8k
平均マージ
3日 4時間
マージ済み PR(30日)
122

説明

### Description

The release automation script (`cli.py`) fails with a `ValueError` when trying to update a library's `CHANGELOG.md` if the file doesn't use the exact hardcoded PyPI history anchor. This blocks releases for any package that has a malformed or missing header.

### Affected Code

In `.generator/cli.py` (lines 1533-1540):

```python
anchor_pattern = re.compile(
rf"(\[1\]: https://pypi\.org/project/{library_id}/#history)",
re.MULTILINE,
)
...
if num_subs == 0:
raise ValueError("Changelog anchor '[1]: ...#history' not found.")
```

### Root Cause

The regular expression is too strict:
1. It expects `[1]:` literally. If a package uses `[2]:` or similar, it fails.
2. It expects the PyPI project name to match the folder name `{library_id}` exactly.
3. It has strict spacing requirements.

### Proposed Solution

Make `_process_changelog` more robust by:
- Falling back to a less strict regex (e.g., searching for any link containing `pypi.org/project/` and `#history`).
- If no anchor is found, auto-prepend it to the file instead of raising a fatal error.

### Culprit Found

During investigation, `packages/google-cloud-documentai-toolbox/CHANGELOG.md` was found to be missing this anchor, which was blocking its release. I will create a PR to add this shortly.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。