Combine e2e test runs into a single directory - #8595
Conversation
|
Droid finished @torcolvin's task —— View job |
There was a problem hiding this comment.
Pull request overview
This PR simplifies the Couchbase Lite E2E test execution model by removing the split between tests/dev_e2e and tests/QE, and instead running the entire tests/ suite as a single run per backing store (rosmar vs Couchbase Server). This reduces Jenkins matrix complexity and aligns the Sync Gateway E2E harness with the updated couchbase-lite-tests layout referenced in the PR description.
Changes:
- Reduces the main pipeline’s E2E fan-out from four runs (rosmar/cbs × dev_e2e/QE) to two runs (rosmar/cbs only).
- Removes the
TEST_DIRECTORYJenkins parameter from the dedicated E2E Jenkins pipeline job. - Updates the E2E runner to execute
pytest ./testsand emit a singletests/junit_report.xmlreport (plus adds Git LFS filter configuration for the couchbase-lite-tests clone).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
Jenkinsfile |
Simplifies E2E job queueing on main to only vary by backing store (rosmar/cbs). |
integration-test/e2e/run_e2e_tests.sh |
Runs the full ./tests suite and writes a single JUnit report under tests/; adds Git LFS config for cloning couchbase-lite-tests. |
integration-test/e2e/Jenkinsfile |
Removes TEST_DIRECTORY from parameters and Slack details, matching the single-directory test run approach. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| git config --global filter.lfs.required true | ||
| git config --global filter.lfs.clean "git-lfs clean -- %f" | ||
| git config --global filter.lfs.smudge "git-lfs smudge -- %f" | ||
| git config --global filter.lfs.process "git-lfs filter-process" |
There was a problem hiding this comment.
The e2e directory consolidation changes look consistent. The main concrete risk is the new Git LFS filter configuration in the e2e runner script, which will fail on agents without git-lfs (or with LFS smudging disabled) unless the dependency is checked/setup explicitly.
| git config --global filter.lfs.required true | ||
| git config --global filter.lfs.clean "git-lfs clean -- %f" | ||
| git config --global filter.lfs.smudge "git-lfs smudge -- %f" | ||
| git config --global filter.lfs.process "git-lfs filter-process" |
There was a problem hiding this comment.
[P1] Git LFS filters added without ensuring git-lfs is available
This script now globally configures LFS filters (filter.lfs.*), which will cause git clone or checkout to fail on any LFS-tracked files if git-lfs isn’t installed (and can also silently leave pointer files if CI sets GIT_LFS_SKIP_SMUDGE). Add an explicit command -v git-lfs check with a clear error (or installation step), and consider running git lfs install --skip-repo plus git lfs pull after checkout (and/or unsetting GIT_LFS_SKIP_SMUDGE) to make the dependency and failure mode deterministic.
vipbhardwaj
left a comment
There was a problem hiding this comment.
changes LGTM, mostly just removing the TEST_DIRECTORY thing and accumulating dev_e2e and QE into a single tests/, same for junit_results.xml too.
Combine e2e test runs into a single directory
This drops the complexity of the e2e tests because there is no separation of test runs. This is only possible after couchbaselabs/couchbase-lite-tests@5afda7d
Pre-review checklist
Tested by running
integration-test/e2e/run_e2e_tests.shlocally. I added additional code for git lfs which is necessary for me to run locally but not if the system /etc/gitconfig is lfs-enabled.