Skip to content

build(selenium-devtools-py): make the adapter fit to publish, and keep it that way - #390

Merged
vishnuv688 merged 6 commits into
mainfrom
fix/294-pypi-release-readiness
Sep 25, 2026
Merged

vishnuv688 merged 6 commits into
mainfrom
fix/294-pypi-release-readiness

Conversation

@vishnuv688

@vishnuv688 vishnuv688 commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

What & why

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Polish (an improvement to an existing feature)
  • Breaking change (existing behavior changes for users)
  • Documentation
  • Internal (build, CI, dependencies, tooling)

Packages touched

  • shared (types and contracts)
  • core (framework-agnostic capture/reporting)
  • elements (published element/snapshot API — @wdio/elements)
  • service (WebdriverIO adapter)
  • nightwatch-devtools (Nightwatch adapter)
  • selenium-devtools (Selenium adapter)
  • selenium-devtools-py (Selenium Python adapter)
  • backend (server)
  • app (UI)
  • script (page-injected runtime)
  • trace (Trace mode)

Notes for reviewers

Screenshots / recordings

@greptile-apps

greptile-apps Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

[High risk] Restructures Python package build and release infrastructure.

The PR is not yet safe to merge because a concurrent main update can make the Python release tag point to source absent from the published artifact.

Findings

  1. P1 Tag can misidentify published source ▶
  2. P1 First release skips its tag. ▶
  3. P2 Release workflow changes skip CI. ▶

Summary

The PR adds packaging checks and a fragment-driven release process for the Python adapter. Since the previous review, it also tightens the index preflight, gates changelog-only changes after the first release, and retries release-commit pushes when main advances.

  • The first release now receives a tag even when there is nothing to commit.
  • CI now includes changes to the release workflow.
  • A rebased release commit can still cause the version tag to identify source that was not published.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Checkout main and apply fragments] --> B[Build and publish artifact]
  B --> C[Commit release state]
  C --> D{Push accepted?}
  D -- Yes --> E[Tag HEAD]
  D -- No --> F[Fetch and rebase onto newer main]
  F --> D
  F -. Can add source absent from artifact .-> E
Loading

Reviews (2) · Last reviewed commit: "fix(ci): close the gaps review found in ..."

Comment thread .github/workflows/python-release.yml
Comment thread .github/workflows/python-release.yml Outdated
Comment thread packages/selenium-devtools-py/scripts/changes.py Outdated
Comment thread .github/workflows/python-release.yml Outdated
Comment thread .github/workflows/python.yml
Comment thread .github/workflows/python-release.yml
@vishnuv688
vishnuv688 merged commit f55642e into main Sep 25, 2026
9 of 11 checks passed
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