Skip to content

Conversation

@nikitaindik
Copy link
Contributor

Backport

This will backport the following commits from main to 9.1:

Questions ?

Please refer to the Backport tool documentation

**Part of epic: elastic#229688

## Summary
We have recently observed that some prebuilt detection rules in Cypress
tests run for over 60 minutes in CI pipelines. This leads to pipeline
timeouts. As a temporary measure `parallelism` was increased to 2
[recently](elastic#230969).

This PR divides the Cypress tests for prebuilt detection rules into four
separate groups to avoid hitting the 60m limit.

## Changes
- Divided prebuilt rules directory `prebuilt_rules` into 4 subdirs:
  - `installation`
  - `upgrade`
  - `customization`
- `management` (enabling/disabling, deletion, import and export of
rules)
- Added `yarn` commands and `bash` scripts to run tests from each
subdirectory
- Registered new groups in BuildKite pipelines (with `parallelism: 1`):
  - `pull_request/security_solution/rule_management.yml`
  - `on_merge.yml`
  - `chrome_forward_testing.yml`
  - `pointer_compression.yml`
  - `verify_es_serverless_image.yml` (Serverless tests only)
- Registered the new scripts in the Flaky Test Runner

## Running times in pull request pipeline
Link to this PR's run in pull request pipeline:
https://buildkite.com/elastic/kibana-pull-request/builds/327944

**Non-Serverless groups:**
- 13 min: Rule Management - Prebuilt Rules Customization - Security
Solution Cypress Tests
- 13 min: Rule Management - Prebuilt Rules Installation - Security
Solution Cypress Tests
- 10 min: Rule Management - Prebuilt Rules Management - Security
Solution Cypress Tests
- 31 min: Rule Management - Prebuilt Rules Upgrade - Security Solution
Cypress Tests

**Serverless groups:**
- 17 min: Serverless Rule Management - Prebuilt Rules Customization -
Security Solution Cypress Tests
- 16 min: Serverless Rule Management - Prebuilt Rules Installation -
Security Solution Cypress Tests
- 11 min: Serverless Rule Management - Prebuilt Rules Management -
Security Solution Cypress Tests
- 27 min: Serverless Rule Management - Prebuilt Rules Upgrade - Security
Solution Cypress Tests

Each group's running time is significantly below the 60-minute limit.

(cherry picked from commit 40b7b42)

# Conflicts:
#	.buildkite/pipelines/chrome_forward_testing.yml
#	.buildkite/pipelines/es_serverless/verify_es_serverless_image.yml
#	.buildkite/pipelines/on_merge.yml
#	.buildkite/pipelines/pointer_compression.yml
#	.buildkite/pipelines/pull_request/security_solution/rule_management.yml
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/customization/revert_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/customization/rule_customization.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/export_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/import_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_error_handling.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_notifications.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_update_authorization.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_via_fleet.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_with_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_workflow.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_error_handling.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_notifications.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_update_authorization.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_via_fleet.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_with_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/installation/install_workflow.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/management.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/management/export_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/management/import_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/management/management.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/revert_prebuilt_rule.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/rule_customization.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_error_handling.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_notifications.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_with_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_with_preview_basic_license.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_without_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade/upgrade_without_preview_basic_license.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_error_handling.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_notifications.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_with_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_with_preview_basic_license.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_without_preview.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_without_preview_basic_license.cy.ts
#	x-pack/solutions/security/test/security_solution_cypress/package.json
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/export_prebuilt_rule.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/import_prebuilt_rule.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_error_handling.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_notifications.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_update_authorization.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_via_fleet.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_with_preview.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/install_workflow.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/management.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/revert_prebuilt_rule.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/rule_customization.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_error_handling.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_notifications.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_with_preview.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_with_preview_basic_license.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_without_preview.cy.ts
#	x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/prebuilt_rules/upgrade_without_preview_basic_license.cy.ts
@nikitaindik nikitaindik added the backport This PR is a backport of another PR label Aug 12, 2025
@nikitaindik nikitaindik enabled auto-merge (squash) August 12, 2025 15:25
@elasticmachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

✅ unchanged

History

Copy link
Contributor

@banderror banderror left a comment

Choose a reason for hiding this comment

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

@nikitaindik Compared every file change with the base PR, LGTM 👍

@nikitaindik nikitaindik merged commit 2410598 into elastic:9.1 Aug 12, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport This PR is a backport of another PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants