Skip to content

ci: gate releases on three-OS sdist verification - #64

Merged
Nagi-Inaba merged 28 commits into
mainfrom
ci/release-gates-sdist
Aug 23, 2026
Merged

Nagi-Inaba merged 28 commits into
mainfrom
ci/release-gates-sdist

Conversation

@Nagi-Inaba

Copy link
Copy Markdown
Owner

概要

タグ付きreleaseが、Linux・Windows・macOSの検証を待たずにPyPIへ進める問題と、公開するsdistを実際にbuild/installしていない問題を修正します。

  • wheelとsdistを一度だけbuildし、同一artifactを全gateと公開jobで使用
  • 3 OSでsource test、installed-wheel E2E、sdist由来wheel E2E、synthetic determinismを実行
  • sdistのpath traversal、absolute path、link、special file、duplicate path、想定外root、過大展開を拒否
  • sdist由来wheelとrelease wheelのruntime payload・metadataを照合
  • Worker検証とcross-OS determinismもPyPI公開前の必須gateに設定
  • 通常PR CIでも3 OSのsdist E2Eを継続検証

ローカル検証

  • release/CI workflowの構造契約
  • distribution setとsdist安全展開の単体契約
  • wheel runtime・metadata drift、duplicate memberの拒否
  • 21 passed, 2 deselected

GitHub Actionsの全matrix成功後にReady化し、最終レビューを行います。

Closes #20
Closes #34

@Nagi-Inaba
Nagi-Inaba marked this pull request as ready for review August 23, 2026 08:28
@Nagi-Inaba
Nagi-Inaba merged commit 9182a49 into main Aug 23, 2026
36 of 37 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b94135fe59

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

set -euo pipefail
staging="$RUNNER_TEMP/release-gates-staged"
mkdir -p "$staging"
cat .github/step1-chunks/part-*.txt | base64 --decode > "$RUNNER_TEMP/step1-changes.tar.gz"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Remove the broken self-mutating repair workflow

For any same-repository PR whose head is the hard-coded ci/release-gates-sdist branch, this job runs, but the reviewed tree contains neither .github/step1-chunks/ nor .github/workflows/apply-release-gates-sdist.yml (a repository-wide search finds only these references). With set -euo pipefail, this cat therefore terminates the job before the repair, leaving that PR check failing; if the inputs were restored, the workflow would also commit and push automatically despite the repository's explicit-authorization rule. Remove this one-off workflow instead of shipping it.

AGENTS.md reference: AGENTS.md:L118-L121

Useful? React with 👍 / 👎.

@github-actions
github-actions Bot deleted the ci/release-gates-sdist branch August 25, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

release: 公開するsdistも隔離環境でbuild・install検証する release: PyPI公開前に3 OSの検証を必須ゲート化する

1 participant