Skip to content

ci: Plugin Portal の公開済み判定を版ページで行う - #84

Merged
k163377 merged 1 commit into
mainfrom
ci/portal-published-check
Sep 19, 2026
Merged

k163377 merged 1 commit into
mainfrom
ci/portal-published-check

Conversation

@k163377

@k163377 k163377 commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Gradle Plugin Portal への公開が、公開済みと誤判定されて飛ばされる不具合を直す。

不具合

2.4.20-0.1.3 のリリースで、plugin-portal ジョブが 2.4.20-0.1.3 is already on the Gradle Plugin Portal の notice を出して publishPlugins を実行しなかった。Portal のプラグインページは 2.4.10-0.1.3 が最新のままになっている。

判定に使っていた plugins.gradle.org/m2/... の plugin marker は、Portal に無い版でも Maven Central へ 303 で転送される。marker は Central にも公開されるため、転送先で 200 が返る。この URL では Portal 上の公開の有無を判定できない。

利用者への影響は Portal のカタログ表示(プラグインページ・バッジ)に限られる。プラグインの解決自体は Central 経由で成立することを実測で確認した(gradlePluginPortal() だけを宣言したプロジェクトで 2.4.20-0.1.3 を解決・適用し、@Enumize を含むコードのコンパイルまで成功)。

変更

判定を Portal 上の版ページ https://plugins.gradle.org/plugin/<plugin id>/<版> に替える。公開済みなら 200、無ければ 400 を返すため、既存のガード(curl -f)のまま区別できる。

検証

  • actionlint: 指摘なし
  • 判定の空撃ち(実 URL)
    • 2.4.10-0.1.3(Portal にある)→ 公開済みとして skip
    • 2.4.20-0.1.3(Portal に無い)→ 未公開として publishPlugins を実行
    • 9.9.9-0.0.0(存在しない)→ 未公開として publishPlugins を実行

マージ後の復旧手順

workflow_run で起動するワークフローは既定ブランチのファイルで走るため、本 PR をマージしてから下記を再実行すれば、修正後の判定で Portal への公開だけが実行される。

  1. CI のラン 35415043933Merge pull request #82・head は タグ v2.4.20-0.1.3 が指す 238cc2d)を Re-run all jobs する
  2. 成功すると publish (auto) が改めて起動する。各ジョブの判定は次のとおり
    • prepare: タグは同じコミットを指すため、付け直さずに続行
    • maven-central: Central に公開済みのため skip
    • plugin-portal: Central 到達の確認は即座に通り、Portal へ公開
    • github-release: Release があるため skip
    • docs: 再生成して掲載(保管済みのため gh-pages へのコミットは出ない)
    • next-version: 既定ブランチが開発版のため skip

🤖 Generated with Claude Code

Portal の m2 は未公開の版でも Maven Central へ転送し、plugin marker は Central
にも公開されるため、そのパスでは Portal 上の公開の有無を判定できない。公開済みと
判定されると publishPlugins が飛ばされ、Portal に版が載らないまま公開が成功する。
判定には Portal 上の版ページ(公開済みなら 200・無ければ 400)を使う。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@k163377
k163377 marked this pull request as ready for review September 19, 2026 05:11
@k163377
k163377 merged commit 1e7f7ae into main Sep 19, 2026
11 checks passed
@k163377
k163377 deleted the ci/portal-published-check branch September 19, 2026 05:11
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.

1 participant