Skip to content

Add CBL JS replication tests with edge server to Jenkins - #654

Open
barkha06 wants to merge 6 commits into
mainfrom
es-js-jenkins
Open

barkha06 wants to merge 6 commits into
mainfrom
es-js-jenkins

Conversation

@barkha06

Copy link
Copy Markdown
Contributor

Extend the QE edge server pipeline to run CBL JS replication tests

@barkha06
barkha06 requested a review from borrrden October 15, 2026 15:10
TEST_DIR="${7:-QE}" # QE | dev_e2e | both
TEST_DIR="${7:-QE}" # QE | dev_e2e | both
CBL_VERSION="${8:-}" # version-build for the topology's test servers (e.g. the localhost JS test server)
JS_ONLY="${9:-false}" # true: run only the tests that replicate with a CBL test server

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not the greatest name for an argument. The point here is not that the test servers are JS test servers (what about the other platforms?) but that you want the tests that involve a test server.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The CBL JS replication tests with edge server were written to test the session API added in edge server and CBL JS. So JS_ONLY parameter helps me run tests to validate CBL JS RCs instead of running the entire edge server pipeline

if (params.JS_REPLICATION_TESTS_ONLY && !params.TOPOLOGY_NAME.contains('js_topology')) {
error "JS_REPLICATION_TESTS_ONLY needs a topology with a JS test server (e.g. 3es_1sgw_1js_topology.json); ${params.TOPOLOGY_NAME} has none, so every selected test would be skipped"
}
def scope = params.JS_REPLICATION_TESTS_ONLY ? "QE (JS replication only)" : params.TEST_DIR

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't quite understand why there is this focus on putting in so many switches to make a "Javascript only" run. This likely can be done in a platform agnostic way.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

As per my previous comment, it is to make Javascript RC validation easier. It wouldn't make sense to have a separate pipeline just for these tests.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yes I agree with that second part, it's just button overload here. Are you suggesting that this is just a way to run a subset of tests (that are part of a bigger pipeline) on Jenkins? Does it get reported to greenboard? Should it? If not, then why is it not merely a local option rather than a button on Jenkins? Jenkins shouldn't be used for debugging tests by running a subset, that should be done locally on your machine.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It's a release validation step- http://jenkins.mobiledev.couchbase.com/view/QE/job/qe-edge-server-pipeline/62 was used to certify the CBL JS 1.0.3 RC. However, I don't think it gets reported to greenboard, that part would be more complex since greenboard does not report results if a subset of tests are run if I remember correctly. Do you have any recommendation for that

@barkha06
barkha06 requested a review from borrrden October 16, 2026 07:33
@barkha06 barkha06 self-assigned this Oct 16, 2026
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.

2 participants