Skip to content

[RORDEV-1229] Run e2e tests against branch-matched plugin builds - #96

Merged
coutoPL merged 41 commits into
developfrom
change/RORDEV-1229_run_e2e_tests
Jul 30, 2026
Merged

[RORDEV-1229] Run e2e tests against branch-matched plugin builds#96
coutoPL merged 41 commits into
developfrom
change/RORDEV-1229_run_e2e_tests

Conversation

@coutoPL

@coutoPL coutoPL commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Until now the tests always ran against whatever plugin images happened to be published. There was no way to check a plugin change before it was released, and the develop suite used a shared tag that could be replaced by another run while the tests were still going.

This changes how the pipeline picks the plugins to test:

  • Pull requests to master, and master itself, run against the released plugins. This tells us the shipped product still works.
  • Everything else runs against plugins built from the branch under test. A new step asks both plugin repositories to build them first and waits until they are ready. Each run gets its own images, so runs can no longer interfere with each other.

The waiting and triggering logic lives in one shared script, so the plugin repositories can reuse it instead of keeping their own copies.


The rest of the changes make the suite finish more often and fail more clearly:

  • Tests are brought in line with the plugin repository's own suite, including new checks for API path restrictions and for unexpected error responses after login.
  • Several tests that failed for reasons unrelated to what they were checking are now more reliable - mainly around opening the ReadonlyREST menu, waiting for Kibana to finish loading, and waiting for monitoring data to arrive.
  • The APM services in the Kubernetes environment now wait for the certificates they need, instead of starting too early and timing out the whole run.
  • Environment startup and each test attempt now stop after a sensible time instead of running until the job is killed, so a stuck run fails quickly and leaves usable logs.
  • When something does go wrong, the run records whether Elasticsearch and Kibana were still responding, which makes it possible to tell a broken environment from a broken test.

E2E tests and changes to existing tests were ported from the ROR KBN repo.
One test was removed because the feature it covered no longer exists.

@coderabbitai

This comment was marked as outdated.

coderabbitai[bot]

This comment was marked as outdated.

coderabbitai[bot]

This comment was marked as outdated.

@coutoPL
coutoPL changed the base branch from master to develop July 26, 2026 14:36
coutoPL and others added 15 commits July 26, 2026 16:38
A healthy full suite is 16-33 min, but an attempt that wedges (stack comes
up fine, then Kibana stays alive and healthy while it stops serving) ran the
full 60-minute budget before retrying, pushing jobs to 85-95 min and leaving
the retry too little room. 35 min cuts the wedged attempt loose early and
gives the retry a full budget of its own.

targeted-e2e-tests.yml keeps 60 — it runs max_attempts: 1, so there is no
retry to hand the saved time to and a premature kill is unrecoverable.

The monitor now records RestartCount, StartedAt and Health/FailingStreak per
container, and dumps Warning events on the eck side. Status alone could not
distinguish a container that bounced between two 10s samples from one that
never moved, which is exactly what blocked the last diagnosis.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@coutoPL coutoPL changed the title [RORDEV-1229] TBD [RORDEV-1229] Run e2e tests against branch-matched plugin builds Jul 29, 2026
@coutoPL
coutoPL requested a review from Dzuming July 29, 2026 19:59
Comment thread .github/docker-memory-monitor/action.yml Outdated
Comment thread .github/docker-memory-monitor/action.yml Outdated
Comment thread ci/prebuild-images-lib.sh
Comment thread e2e-tests/cypress/support/page-objects/Reporting.ts Outdated
Comment thread e2e-tests/cypress/support/page-objects/RorMenu.ts Outdated
Comment thread e2e-tests/cypress/support/page-objects/Spaces.ts Outdated
Comment thread environments/elk-ror/conf/es/elasticsearch.yml Outdated
@coutoPL
coutoPL requested a review from Dzuming July 30, 2026 09:17

@Dzuming Dzuming left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM

@coutoPL
coutoPL merged commit 54ad901 into develop Jul 30, 2026
17 checks passed
@coutoPL
coutoPL deleted the change/RORDEV-1229_run_e2e_tests branch July 30, 2026 12: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.

2 participants