Skip to content

Combine e2e test runs into a single directory - #8595

Merged
torcolvin merged 1 commit into
mainfrom
combine-e2e-directories
Aug 14, 2026
Merged

Combine e2e test runs into a single directory#8595
torcolvin merged 1 commit into
mainfrom
combine-e2e-directories

Conversation

@torcolvin

Copy link
Copy Markdown
Collaborator

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.sh locally. 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.

@torcolvin
torcolvin requested a review from vipbhardwaj August 13, 2026 20:03
@torcolvin
torcolvin requested review from a team and a lite review from Copilot August 13, 2026 20:03
@factory-droid

factory-droid Bot commented Aug 13, 2026

Copy link
Copy Markdown

Droid finished @torcolvin's task —— View job


Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_DIRECTORY Jenkins parameter from the dedicated E2E Jenkins pipeline job.
  • Updates the E2E runner to execute pytest ./tests and emit a single tests/junit_report.xml report (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.

Comment on lines +40 to +43
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"

@factory-droid factory-droid Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +40 to +43
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"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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 vipbhardwaj left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@torcolvin
torcolvin enabled auto-merge (squash) August 14, 2026 13:50
@torcolvin
torcolvin merged commit 318c643 into main Aug 14, 2026
31 checks passed
@torcolvin
torcolvin deleted the combine-e2e-directories branch August 14, 2026 13:54
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.

4 participants