Skip to content

Upgrade WebdriverIO e2e stack from v8 to v9#1929

Closed
rugpanov wants to merge 1 commit into
databricks:mainfrom
rugpanov:feature/wdio-v9-upgrade
Closed

Upgrade WebdriverIO e2e stack from v8 to v9#1929
rugpanov wants to merge 1 commit into
databricks:mainfrom
rugpanov:feature/wdio-v9-upgrade

Conversation

@rugpanov

Copy link
Copy Markdown
Contributor

Why

Dependabot raised four separate, interdependent bumps for the WebdriverIO v8→v9 migration that cannot merge individually:

The @wdio/* packages must move in lockstep, and the v9 line additionally requires wdio-vscode-service v8 (its v8 peer-depends on webdriverio@^9) — which Dependabot never proposed. This PR performs the coordinated upgrade so the e2e tooling can advance, and supersedes the four PRs above.

What

  • Bump @wdio/cli, @wdio/local-runner, @wdio/mocha-framework, @wdio/spec-reporter, @wdio/types^9.29.0; wdio-video-reporter^6.2.0; wdio-vscode-service^8.0.0.
  • wdio.conf.ts: type the config as WebdriverIO.Config (v9 moved capabilities out of Options.Testrunner) and drop the removed autoCompileOpts/ts-node block. v9 transpiles TS via the bundled tsx; the tsconfig is now passed with --tsConfigPath in the test:integ:extension script.
  • e2e tsconfig.json: add the DOM lib and skipLibCheck, now required by v9's webdriverio types.
  • commonUtils.ts: expect(string).not.toHaveText() is element-only in v9's expect-webdriverio; switched the string assertion to .not.toBe("-").

Verification

  • tsc --noEmit -p src/test/e2e/tsconfig.json passes (0 errors)
  • eslint + prettier -c clean on changed files
  • yarn install resolves cleanly to webdriverio 9.29.0 with no peer conflicts
  • yarn run build succeeds
  • ⚠️ The e2e suite itself runs only in CI (needs a VS Code download, VSIX build and a live Databricks workspace), so the full runtime e2e run is delegated to CI on this PR.

Backward compatibility: dev/test-tooling only — no runtime, API, persisted-state or config-format changes; the shipped extension is unaffected.

This pull request and its description were written by Isaac.

*Why*
Dependabot raised four separate, interdependent bumps for the WebdriverIO
v8→v9 migration (@wdio/cli #1787, @wdio/mocha-framework #1788, @wdio/types
#1789, wdio-video-reporter #1785). None can merge individually because the
@wdio/* packages must move in lockstep and the v9 line additionally requires
wdio-vscode-service v8 (its v8 peer-depends on webdriverio@^9). This single
PR performs the coordinated upgrade so the e2e tooling can advance.

*What*
- Bump @wdio/cli, @wdio/local-runner, @wdio/mocha-framework, @wdio/spec-reporter
  and @wdio/types to ^9.29.0; wdio-video-reporter to ^6.2.0; and
  wdio-vscode-service to ^8.0.0 (required for webdriverio@^9).
- wdio.conf.ts: type the config as WebdriverIO.Config (v9 moved `capabilities`
  out of Options.Testrunner) and remove the removed `autoCompileOpts`/ts-node
  block. v9 transpiles TS via the bundled `tsx`; the tsconfig is now passed
  with `--tsConfigPath` in the `test:integ:extension` script.
- e2e tsconfig: add the DOM lib and skipLibCheck, which v9's webdriverio types
  now require.
- commonUtils.ts: `expect(string).not.toHaveText()` is element-only in v9's
  expect-webdriverio; switch the string assertion to `.not.toBe("-")`.

*Verification*
- `tsc --noEmit -p src/test/e2e/tsconfig.json` passes (0 errors).
- `eslint` + `prettier -c` clean on changed files.
- `yarn install` resolves cleanly to webdriverio 9.29.0 with no peer conflicts.
- `yarn run build` succeeds.
- Note: the e2e suite itself runs only in CI (needs a VS Code download, VSIX
  build and a live Databricks workspace), so the runtime e2e run is left to CI.

Backward compatibility: dev/test-tooling only — no runtime, API, persisted
state or config-format changes; the shipped extension is unaffected.

Co-authored-by: Isaac
@github-actions

Copy link
Copy Markdown
Contributor

If integration tests don't run automatically, an authorized user can run them manually by following the instructions below:

Trigger:
go/deco-tests-run/vscode

Inputs:

  • PR number: 1929
  • Commit SHA: a73d0a44c40c5b8a9c0276fc145f40cbbbe10f86

Checks will be approved automatically on success.

@rugpanov

Copy link
Copy Markdown
Contributor Author

@rugpanov rugpanov temporarily deployed to test-trigger-is June 30, 2026 15:30 — with GitHub Actions Inactive
@rugpanov

Copy link
Copy Markdown
Contributor Author

Superseded by #1930, which uses a branch on the base repo (databricks/databricks-vscode) so CI can obtain the JFrog OIDC token and actually run the unit/integration suites. Fork PRs fail those jobs at the secrets step. Closing in favor of #1930.

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