fix: 将 ARM64 wheel 纳入发布校验和上传流程
补齐全部架构的运行证据、GitHub 发布说明和 PyPI 逐文件下载核验。已通过 161 项测试、代码和文档门禁、九个 wheel 的本地索引下载核验,以及 ARM 三个 ABI 的 40 帧 CPU 检查。
This commit is contained in:
@@ -31,6 +31,7 @@ if str(_BUILD_ROOT) not in sys.path:
|
||||
from common.paths import REPO_ROOT # noqa: E402
|
||||
|
||||
from release.publish import GateResult, PublishGateError, load_gate # noqa: E402
|
||||
from release.runtime import PLATFORM_LABELS, wheel_target # noqa: E402
|
||||
|
||||
MANIFEST_PATH = REPO_ROOT / "tools" / "downstream_sync_manifest.json"
|
||||
SYNC_TOOL = REPO_ROOT / "tools" / "sync_downstreams.py"
|
||||
@@ -93,10 +94,11 @@ def _git(repo: Path, *args: str, check: bool = True) -> str:
|
||||
|
||||
|
||||
def build_release_notes(version: str, wheels: list[Path], git_commit: str | None) -> str:
|
||||
platforms = sorted({PLATFORM_LABELS[wheel_target(wheel)[1]] for wheel in wheels})
|
||||
lines = [
|
||||
f"orisys {version}",
|
||||
"",
|
||||
"Wheels (Python 3.10 / 3.11 / 3.12, Windows x64 and Linux x86_64):",
|
||||
f"Wheels ({', '.join(platforms)}; Python ABI is shown in each filename):",
|
||||
]
|
||||
lines.extend(f"- `{wheel.name}`" for wheel in wheels)
|
||||
lines.append("")
|
||||
@@ -335,7 +337,8 @@ def publish(options: Options) -> int:
|
||||
|
||||
asset_dir = repo / "release" / version
|
||||
assets = [asset_dir / wheel.name for wheel in wheels]
|
||||
notes_file = options.notes_file
|
||||
notes_file = options.notes_file or gate.report_path.parent / "github-release-notes.md"
|
||||
generated_notes = build_release_notes(version, wheels, gate.git_commit) if options.notes_file is None else None
|
||||
steps = build_github_steps(
|
||||
version=version,
|
||||
branch=branch,
|
||||
@@ -361,11 +364,15 @@ def publish(options: Options) -> int:
|
||||
print()
|
||||
|
||||
if not options.apply:
|
||||
if generated_notes:
|
||||
print(generated_notes)
|
||||
print("dry run: nothing was changed. Re-run with --apply to execute.")
|
||||
return 0
|
||||
|
||||
# --- 4. execute ----------------------------------------------------
|
||||
try:
|
||||
if generated_notes:
|
||||
notes_file.write_text(generated_notes, encoding="utf-8")
|
||||
commit_before = _git(repo, "rev-parse", "HEAD")
|
||||
_sync(run_checks=not options.skip_checks)
|
||||
_stage_wheels(wheels, asset_dir)
|
||||
|
||||
Reference in New Issue
Block a user