build(selenium-devtools-py): make the adapter fit to publish, and keep it that way - #390
vishnuv688 wants to merge 5 commits into
Conversation
|
| if git diff --cached --quiet; then | ||
| echo "no version change to record" | ||
| exit 0 | ||
| fi |
There was a problem hiding this comment.
| fi | ||
| git commit -m "chore(selenium-devtools-py): release $VERSION" | ||
| git tag "py-v$VERSION" | ||
| git push origin HEAD:main |
There was a problem hiding this comment.
Published release can remain unrecorded. If main advances while this job tests and publishes, this push rejects the release commit after PyPI has accepted the version. The version bump, changelog update and fragment deletions then remain off main; a rerun computes the same version and is refused by the index preflight. The concurrency group does not cover other writers to main.
| if f"{package}CHANGELOG.md" in files: | ||
| print("src/ changed and the changelog was edited directly") | ||
| return 0 |
There was a problem hiding this comment.
Changelog edit bypasses version bump. After the first release, a PR can change
src/ and make any edit to CHANGELOG.md without adding a fragment. This check passes, but apply_release has no fragment to consume and does not bump the version. The source change cannot be included in a new PyPI upload until the release state is repaired.
| if [ "$CODE" = "200" ]; then | ||
| echo "::error::selenium-devtools-py $VERSION is already on $INDEX_HOST — a version uploads once, so bump __version__" | ||
| exit 1 | ||
| fi | ||
| echo "$VERSION is free on $INDEX_HOST (HTTP $CODE)" |
There was a problem hiding this comment.
| - packages/selenium-devtools-py/** | ||
| - packages/shared/src/** | ||
| - .github/workflows/python.yml | ||
| - .github/actions/python-package/** | ||
| pull_request: | ||
| paths: | ||
| - packages/selenium-devtools-py/** | ||
| - packages/shared/src/** | ||
| - .github/workflows/python.yml | ||
| - .github/actions/python-package/** |
There was a problem hiding this comment.
Release workflow changes skip CI. Neither path-filter list includes
.github/workflows/python-release.yml. Changes confined to that workflow therefore do not trigger the Python CI checks, leaving release-only versioning, publishing and recording edits to be exercised for the first time during a release.
What & why
Type of change
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