Skip to content

Enable SAST spec performance improvement

Will Meek requested to merge 325777_sast_spec_perf into master

What does this MR do?

Addresses #325777 (closed)

As part of the review of E2E test MR !56117 (merged) it was identified that performance could be improved by ignoring the status of the MR pipeline as it was not required for the test.

This MR (re)adds a merge_immediately function that either selects the merge_moment_dropdown if found followed by merge_immediately_menu_item, or the merge_button. Note that the logic does not check for merge_button first as this is a container which defaults to merge_when_pipeline_succeeds if the pipeline is still running, negating the point of this change.

Some non-scientific benchmarks against local GDK suggest some improvement against 10x executions. (As an aside, of the logic , When the merge_button is used seems a little slower as it runs a check that it can be merged.)

Baseline before change 10x executions After change 10x executions
2m 41s 2m 22s

An average improvement of 19 seconds.

Screenshots or Screencasts (strongly suggested)

How to setup and validate locally (strongly suggested)

  1. Set up GDK or another instance
  2. Run test against GDK/instance QA_DEBUG=true CHROME_HEADLESS=false bundle exec bin/qa Test::Instance::All http://<instance_URL>/ ./qa/specs/features/ee/browser_ui/secure/enable_sast_from_configuration_spec.rb

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Merge request reports