用途:在 chore: roll driver to 1.X.0 PR 已合并进 main、且上游 JS v1.X.0 已发布后,执行 Playwright Java 的正式发版流程。滚动驱动本身由 [[playwright-roll]] 技能负责。文中 X 代表次版本号(如 1.60.0 的 60),<user> 为 fork 所有者(gh api user --jq .login)。
主要步骤:
- 跟踪清单。完整检查清单在私有的 microsoft/playwright-internal 仓库的 v1.X checklist issue 中,用 gh search issues 定位编号,每完成一项就单独 PATCH 一次 body,把“- [ ]”改为“- [x]”,以便中断时状态准确。
- 创建发布分支。从当前 upstream/main 推送 release-1.X:git fetch upstream main;git push upstream upstream/main:refs/heads/release-1.X。
- 起草 GitHub Release。用 node utils/render_release_notes.mjs java 1.X 生成说明,并修正 JS 风格 API(如 toMatchAriaSnapshot()→matchesAriaSnapshot()、toHaveCSS()→hasCSS()、browser.on('context')→browser.onContext() 等)。直接对 release-1.X 创建草稿:gh release create v1.X.0 --repo microsoft/playwright-java --draft --title "v1.X.0" --notes-file /tmp/v1.X.0-release-notes.md --target release-1.X。
- 标记 Maven 版本。从 upstream/release-1.X 切出 mark-v-1.X.0,运行 ./scripts/set_maven_version.sh 1.X.0,提交并创建 PR 合回 release-1.X。该脚本对 pom.xml、tools/*/pom.xml、examples/pom.xml 调用 mvn versions:set,因根调用沿 reactor 级联,预期 diff 为 11 个 pom,其他文件出现在 diff 中需警惕。
- 发布。mark PR 合并后由用户手动发布草稿;发布产生的 v1.X.0 tag 会触发 Azure DevOps 流水线,把构件推送到 Maven Central(.azure-pipelines/publish.yml)、镜像推送到 ACR(.azure-pipelines/publish-docker.yml)。
限制:流程依赖私有仓库与上游发布状态;笔记渲染器的替换清单不完整,发布前需人工检查 diff;暂未提供其他平台、费用或额外参数信息。