playwright-java-release

Automates the Playwright Java release workflow including branch creation, Maven versioning, and GitHub release drafting.

1.5k|296|Updated Sep 25, 2020
One-click install
npx skills add https://github.com/microsoft/playwright-java --skill playwright-java-release
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: playwright-java-release
Source: https://github.com/microsoft/playwright-java/tree/main/.claude/skills/playwright-java-release
Command: npx skills add https://github.com/microsoft/playwright-java --skill playwright-java-release

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Releasing a new Playwright Java version involves many error-prone manual steps: cutting the release branch, bumping Maven versions across 11 pom files, translating JS-flavored release notes into Java API names, and ticking internal checklist items. This Skill codifies that entire post-roll release procedure.

Core Features & Use Cases

  • Release branch management: Pushes release-1.X from upstream main after the driver roll PR merges.
  • Maven version marking: Runs set_maven_version.sh and validates the expected 11-pom diff, flagging unexpected changes.
  • GitHub release drafting: Generates release notes via the upstream renderer, applies Java-specific API name substitutions (e.g. toMatchAriaSnapshot()matchesAriaSnapshot()), and creates a draft release targeting the release branch.
  • Checklist tracking: Incrementally ticks Java items in the internal microsoft/playwright-internal release checklist issue via the GitHub API.
  • Use Case: After the chore: roll driver to 1.60.0 PR merges, invoke this Skill to cut release-1.60, mark version 1.60.0, and draft the v1.60.0 GitHub release.

Quick Start

Prepare the Playwright Java v1.X.0 release now that the driver roll PR has merged, including the release branch, Maven version bump, and draft GitHub release.

Frequently Asked Questions about playwright-java-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I release a new version of Playwright for Java?

After the driver roll PR merges, push a release-1.X branch from upstream main, run set_maven_version.sh to mark the version, and draft the GitHub release with notes rendered from the upstream docs. Publishing the draft triggers CI to push artifacts to Maven Central.

How do I convert Playwright JS release notes to Java API names?

Render notes with node utils/render_release_notes.mjs java, then fix JS-isms: toMatchAriaSnapshot() becomes matchesAriaSnapshot(), toHaveX matchers become hasX, and event listeners like browser.on('context') become onContext() style methods.

Which pom files change when marking a Playwright Java release version?

The expected diff covers 11 poms: root, driver, driver-bundle, playwright, six under tools/, and examples, all flipping from the SNAPSHOT version to the release version. Any other file in the diff is a red flag.

Why draft the GitHub release against the release branch instead of main?

Drafting against main and retargeting later is fragile because every gh release edit rotates the untagged-<hash> ID. Creating the draft directly against release-1.X avoids this problem.

When should this release workflow be started?

Start only after the chore: roll driver PR has merged into main and the upstream JS v1.X.0 is published. The rolling work itself is handled separately by the playwright-roll skill.