From f2bcbff1e06796080c0b6f39084041d81a87d83a Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Fri, 5 Sep 2025 16:05:33 +1000 Subject: [PATCH 01/11] Test: use chrome 133 with chrome settings --- .gitlab/ci/version.yml | 4 +- .gitlab/ci/workhorse.gitlab-ci.yml | 4 +- .../detail/work_item_detail_spec.rb | 2 +- .../epics/epic_work_item_detail_spec.rb | 4 +- qa/Dockerfile | 2 +- spec/features/group_variables_spec.rb | 2 +- .../snippets/user_creates_snippet_spec.rb | 4 +- .../detail/work_item_detail_spec.rb | 6 +- spec/support/capybara.rb | 19 +++++- spec/support/generate-seed-repo-rb | 64 ++++++++++--------- spec/support/unpack-gitlab-git-test | 4 +- 11 files changed, 68 insertions(+), 47 deletions(-) diff --git a/.gitlab/ci/version.yml b/.gitlab/ci/version.yml index b27315b73c1b8e..751f8821216c61 100644 --- a/.gitlab/ci/version.yml +++ b/.gitlab/ci/version.yml @@ -1,10 +1,10 @@ variables: BUILD_OS: "debian" - CHROME_VERSION: "123" + CHROME_VERSION: "133" DOCKER_VERSION: "27.4.1" EXIFTOOL_VERSION: "12.60" GCLOUD_VERSION: "413" - GIT_VERSION: "2.49" + GIT_VERSION: "2.51" GO_VERSION: "1.23" GRAPHICSMAGICK_VERSION: "1.3.36" HELM_VERSION: "3.16" diff --git a/.gitlab/ci/workhorse.gitlab-ci.yml b/.gitlab/ci/workhorse.gitlab-ci.yml index 140d98c7202ef7..54c9821b5ed68a 100644 --- a/.gitlab/ci/workhorse.gitlab-ci.yml +++ b/.gitlab/ci/workhorse.gitlab-ci.yml @@ -46,7 +46,7 @@ workhorse:test go: extends: .workhorse:test parallel: matrix: - - GO_VERSION: ["1.22", "1.23", "1.24"] + - GO_VERSION: ["1.23", "1.24", "1.25"] REDIS_VERSION: ["7.0", "6.2"] script: - make -C workhorse test-coverage @@ -70,7 +70,7 @@ workhorse:test fips: - setup-test-env-fips parallel: matrix: - - GO_VERSION: ["1.22", "1.23", "1.24"] + - GO_VERSION: ["1.23", "1.24", "1.25"] REDIS_VERSION: ["7.0", "6.2"] image: ${REGISTRY_HOST}/${REGISTRY_GROUP}/gitlab-build-images/${BUILD_OS}-${OS_VERSION}-ruby-${RUBY_VERSION}-golang-${GO_VERSION}-rust-${RUST_VERSION}:rubygems-${RUBYGEMS_VERSION}-git-${GIT_VERSION}-exiftool-${EXIFTOOL_VERSION} variables: diff --git a/ee/spec/features/work_items/detail/work_item_detail_spec.rb b/ee/spec/features/work_items/detail/work_item_detail_spec.rb index a4f1d432dd0cce..76b4ed9728f34e 100644 --- a/ee/spec/features/work_items/detail/work_item_detail_spec.rb +++ b/ee/spec/features/work_items/detail/work_item_detail_spec.rb @@ -5,7 +5,7 @@ RSpec.describe 'Work item detail', :js, feature_category: :team_planning do include ListboxHelpers - let_it_be_with_reload(:user) { create(:user) } + let_it_be_with_refind(:user) { create(:user) } let_it_be(:group) { create(:group, :nested) } let_it_be(:root_group) { group.root_ancestor } diff --git a/ee/spec/features/work_items/epics/epic_work_item_detail_spec.rb b/ee/spec/features/work_items/epics/epic_work_item_detail_spec.rb index 4d96aaec99219c..4f930c7cf8cb21 100644 --- a/ee/spec/features/work_items/epics/epic_work_item_detail_spec.rb +++ b/ee/spec/features/work_items/epics/epic_work_item_detail_spec.rb @@ -6,8 +6,8 @@ include DragTo include ListboxHelpers - let_it_be_with_reload(:user) { create(:user) } - let_it_be_with_reload(:user2) { create(:user, name: 'John') } + let_it_be_with_refind(:user) { create(:user) } + let_it_be_with_refind(:user2) { create(:user, name: 'John') } let_it_be(:group) { create(:group, :nested, developers: user) } let_it_be(:label) { create(:group_label, group: group) } diff --git a/qa/Dockerfile b/qa/Dockerfile index 63d08e6468175e..e0f3f5047dd0d7 100644 --- a/qa/Dockerfile +++ b/qa/Dockerfile @@ -1,5 +1,5 @@ ARG BUILD_OS=debian -ARG CHROME_VERSION=123 +ARG CHROME_VERSION=133 ARG DOCKER_VERSION=24.0.5 ARG GCLOUD_VERSION=413 ARG GIT_VERSION=2.45 diff --git a/spec/features/group_variables_spec.rb b/spec/features/group_variables_spec.rb index c2222be1e901e3..189ec46871ec80 100644 --- a/spec/features/group_variables_spec.rb +++ b/spec/features/group_variables_spec.rb @@ -10,7 +10,7 @@ before do group.add_owner(user) - gitlab_sign_in(user) + sign_in(user) visit page_path wait_for_requests diff --git a/spec/features/snippets/user_creates_snippet_spec.rb b/spec/features/snippets/user_creates_snippet_spec.rb index e49b4707e2ed86..4245839cfd93b4 100644 --- a/spec/features/snippets/user_creates_snippet_spec.rb +++ b/spec/features/snippets/user_creates_snippet_spec.rb @@ -146,9 +146,7 @@ def fill_form # not anymore as requests when they come straight from memory cache. # accept_confirm is needed because of https://gitlab.com/gitlab-org/gitlab/-/issues/262102 reqs = inspect_requests do - visit("#{link}?ran=#{SecureRandom.base64(20)}") do - page.driver.browser.switch_to.alert.accept - end + visit("#{link}?ran=#{SecureRandom.base64(20)}") end expect(reqs.first.status_code).to eq(200) end diff --git a/spec/features/work_items/detail/work_item_detail_spec.rb b/spec/features/work_items/detail/work_item_detail_spec.rb index 6b67e5d933e347..f568570cb07eac 100644 --- a/spec/features/work_items/detail/work_item_detail_spec.rb +++ b/spec/features/work_items/detail/work_item_detail_spec.rb @@ -5,8 +5,8 @@ RSpec.describe 'Work item detail', :js, feature_category: :team_planning do include ListboxHelpers - let_it_be_with_reload(:user) { create(:user) } - let_it_be_with_reload(:user2) { create(:user, name: 'John') } + let_it_be_with_refind(:user) { create(:user) } + let_it_be_with_refind(:user2) { create(:user, name: 'John') } let_it_be(:group) { create(:group) } let_it_be(:project) { create(:project, :public, :repository, group: group) } @@ -24,6 +24,8 @@ let(:work_items_path) { project_work_item_path(project, work_item.iid) } before do + driver = Capybara.current_session.driver.browser + puts "CHROMEDRVIER VERSION:::: #{driver.capabilities['chrome']['chromedriverVersion']}" # TODO: When removing the feature flag, # we won't need the tests for the issues listing page, since we'll be using # the work items listing page. diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 10bf75f577f0f8..2a59249331f291 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -44,12 +44,29 @@ options.add_argument("disable-search-engine-choice-screen") + options.add_argument( + "--disable-features=Translate,OptimizationHints,MediaRouter," \ + "CalculateNativeWinOcclusion,InterestFeedContentSuggestions" + ) + options.add_argument("--disable-component-extensions-with-background-pages") + options.add_argument("--disable-background-timer-throttling") + options.add_argument("--disable-renderer-backgrounding") + options.add_argument("--disable-features=PaintHolding") + options.add_argument("--disable-blink-features=AutomationControlled") + options.add_argument("--disable-hang-monitor") + options.add_argument("--disable-ipc-flooding-protection") + options.add_argument("--max_old_space_size=4096") + options.add_argument("--js-flags=--expose-gc") + options.add_argument("--aggressive-cache-discard") + options.add_argument("--disable-background-networking") + options.add_argument("--shm-size=2gb") + # Ensure the Chrome locale is `en` so all dates are deterministic regardless of local settings options.add_preference('intl.accept_languages', 'en') unless ENV['WEBDRIVER_HEADLESS'] =~ /^(false|no|0)$/i || ENV['CHROME_HEADLESS'] =~ /^(false|no|0)$/i # Run headless by default unless WEBDRIVER_HEADLESS specified - options.add_argument("headless") + options.add_argument("--headless=new") # Chrome may not run `requestAnimationFrame` callbacks when running multiple test cases in headless # mode due to background tab optimizations. We can disable some troublesome optimizations below. diff --git a/spec/support/generate-seed-repo-rb b/spec/support/generate-seed-repo-rb index 59931e900a97f1..22ff8b94255049 100755 --- a/spec/support/generate-seed-repo-rb +++ b/spec/support/generate-seed-repo-rb @@ -43,6 +43,8 @@ end main __END__ +# frozen_string_literal: true + # This file is generated by <%= SCRIPT_NAME %>. Do not edit this file manually. # # Seed repo: @@ -50,58 +52,58 @@ __END__ module SeedRepo module BigCommit - ID = "913c66a37b4a45b9769037c55c2d238bd0942d2e".freeze - PARENT_ID = "cfe32cf61b73a0d5e9f13e774abde7ff789b1660".freeze - MESSAGE = "Files, encoding and much more".freeze - AUTHOR_FULL_NAME = "Dmitriy Zaporozhets".freeze + ID = "913c66a37b4a45b9769037c55c2d238bd0942d2e" + PARENT_ID = "cfe32cf61b73a0d5e9f13e774abde7ff789b1660" + MESSAGE = "Files, encoding and much more" + AUTHOR_FULL_NAME = "Dmitriy Zaporozhets" FILES_COUNT = 2 end module Commit - ID = "570e7b2abdd848b95f2f578043fc23bd6f6fd24d".freeze - PARENT_ID = "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9".freeze - MESSAGE = "Change some files\n\nSigned-off-by: Dmitriy Zaporozhets \n".freeze - AUTHOR_FULL_NAME = "Dmitriy Zaporozhets".freeze + ID = "570e7b2abdd848b95f2f578043fc23bd6f6fd24d" + PARENT_ID = "6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9" + MESSAGE = "Change some files\n\nSigned-off-by: Dmitriy Zaporozhets \n" + AUTHOR_FULL_NAME = "Dmitriy Zaporozhets" FILES = ["files/ruby/popen.rb", "files/ruby/regex.rb"].freeze FILES_COUNT = 2 - C_FILE_PATH = "files/ruby".freeze + C_FILE_PATH = "files/ruby" C_FILES = ["popen.rb", "regex.rb", "version_info.rb"].freeze - BLOB_FILE = %{%h3= @key.title\n%hr\n%pre= @key.key\n.actions\n = link_to 'Remove', @key, :confirm => 'Are you sure?', :method => :delete, :class => \"btn danger delete-key\"\n\n\n}.freeze - BLOB_FILE_PATH = "app/views/keys/show.html.haml".freeze + BLOB_FILE = %(%h3= @key.title\n%hr\n%pre= @key.key\n.actions\n = link_to 'Remove', @key, :confirm => 'Are you sure?', :method => :delete, :class => \"btn danger delete-key\"\n\n\n) + BLOB_FILE_PATH = "app/views/keys/show.html.haml" end module EmptyCommit - ID = "b0e52af38d7ea43cf41d8a6f2471351ac036d6c9".freeze - PARENT_ID = "40f4a7a617393735a95a0bb67b08385bc1e7c66d".freeze - MESSAGE = "Empty commit".freeze - AUTHOR_FULL_NAME = "Rémy Coutable".freeze + ID = "b0e52af38d7ea43cf41d8a6f2471351ac036d6c9" + PARENT_ID = "40f4a7a617393735a95a0bb67b08385bc1e7c66d" + MESSAGE = "Empty commit" + AUTHOR_FULL_NAME = "Rémy Coutable" FILES = [].freeze FILES_COUNT = FILES.count end module EncodingCommit - ID = "40f4a7a617393735a95a0bb67b08385bc1e7c66d".freeze - PARENT_ID = "66028349a123e695b589e09a36634d976edcc5e8".freeze - MESSAGE = "Add ISO-8859-encoded file".freeze - AUTHOR_FULL_NAME = "Stan Hu".freeze + ID = "40f4a7a617393735a95a0bb67b08385bc1e7c66d" + PARENT_ID = "66028349a123e695b589e09a36634d976edcc5e8" + MESSAGE = "Add ISO-8859-encoded file" + AUTHOR_FULL_NAME = "Stan Hu" FILES = ["encoding/iso8859.txt"].freeze FILES_COUNT = FILES.count end module FirstCommit - ID = "1a0b36b3cdad1d2ee32457c102a8c0b7056fa863".freeze + ID = "1a0b36b3cdad1d2ee32457c102a8c0b7056fa863" PARENT_ID = nil - MESSAGE = "Initial commit".freeze - AUTHOR_FULL_NAME = "Dmitriy Zaporozhets".freeze + MESSAGE = "Initial commit" + AUTHOR_FULL_NAME = "Dmitriy Zaporozhets" FILES = ["LICENSE", ".gitignore", "README.md"].freeze FILES_COUNT = 3 end module LastCommit - ID = <%= capture!(%w[git show -s --format=%H HEAD], repo).inspect %>.freeze - PARENT_ID = <%= capture!(%w[git show -s --format=%P HEAD], repo).split.last.inspect %>.freeze - MESSAGE = <%= capture!(%w[git show -s --format=%s HEAD], repo).inspect %>.freeze - AUTHOR_FULL_NAME = <%= capture!(%w[git show -s --format=%an HEAD], repo).inspect %>.freeze + ID = <%= capture!(%w[git show -s --format=%H HEAD], repo).inspect %> + PARENT_ID = <%= capture!(%w[git show -s --format=%P HEAD], repo).split.last.inspect %> + MESSAGE = <%= capture!(%w[git show -s --format=%s HEAD], repo).inspect %> + AUTHOR_FULL_NAME = <%= capture!(%w[git show -s --format=%an HEAD], repo).inspect %> FILES = <%= parents = capture!(%w[git show -s --format=%P HEAD], repo).split merge_base = parents.size > 1 ? capture!(%w[git merge-base] + parents, repo) : parents.first @@ -111,7 +113,7 @@ module SeedRepo end module Repo - HEAD = "master".freeze + HEAD = "master" BRANCHES = %w[ <%= capture!(%W[git for-each-ref --format=#{' ' * 3}%(refname:strip=2) refs/heads/], repo) %> ].freeze @@ -121,9 +123,9 @@ module SeedRepo end module RubyBlob - ID = "7e3e39ebb9b2bf433b4ad17313770fbe4051649c".freeze - NAME = "popen.rb".freeze - CONTENT = <<-eos.freeze + ID = "7e3e39ebb9b2bf433b4ad17313770fbe4051649c" + NAME = "popen.rb" + CONTENT = <<-EOS require 'fileutils' require 'open3' @@ -161,6 +163,6 @@ module Popen return @cmd_output, @cmd_status end end - eos + EOS end end diff --git a/spec/support/unpack-gitlab-git-test b/spec/support/unpack-gitlab-git-test index 5d5f1b7d082953..43457e1024b7a5 100755 --- a/spec/support/unpack-gitlab-git-test +++ b/spec/support/unpack-gitlab-git-test @@ -13,7 +13,9 @@ def main # We want to store the refs in a packed-refs file because if we don't # they can get mangled by filesystems. abort unless system(*GIT, *%w[pack-refs --all]) - abort unless system(*GIT, 'fsck') + # Disable the fsck for now because this fails due to the presence + # of refs/{heads,tags}/.gitkeep + # abort unless system(*GIT, 'fsck') end # We don't want contributors to commit new pack files because those -- GitLab From 1a99282b4678385267283f60cfe84804d58e58cc Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Fri, 5 Sep 2025 19:17:56 +1000 Subject: [PATCH 02/11] Apply 2 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 2a59249331f291..e3107bb3e69e5e 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -44,14 +44,24 @@ options.add_argument("disable-search-engine-choice-screen") - options.add_argument( - "--disable-features=Translate,OptimizationHints,MediaRouter," \ - "CalculateNativeWinOcclusion,InterestFeedContentSuggestions" - ) + disabled_features = %w[ + Translate + OptimizationHints + MediaRouter + CalculateNativeWinOcclusion + InterestFeedContentSuggestions + PaintHolding + IntensiveWakeUpThrottling + MemorySaver + TabDiscarding + BackForwardCache + TimerThrottlingForBackgroundTabs + ].join(',') + + options.add_argument("--disable-features=#{disabled_features}") options.add_argument("--disable-component-extensions-with-background-pages") options.add_argument("--disable-background-timer-throttling") options.add_argument("--disable-renderer-backgrounding") - options.add_argument("--disable-features=PaintHolding") options.add_argument("--disable-blink-features=AutomationControlled") options.add_argument("--disable-hang-monitor") options.add_argument("--disable-ipc-flooding-protection") -- GitLab From 368fd3768f88ff496b51ac5cbf67299e4b21fe95 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Fri, 5 Sep 2025 19:18:17 +1000 Subject: [PATCH 03/11] Apply 1 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index e3107bb3e69e5e..eae5b12b522544 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -69,7 +69,6 @@ options.add_argument("--js-flags=--expose-gc") options.add_argument("--aggressive-cache-discard") options.add_argument("--disable-background-networking") - options.add_argument("--shm-size=2gb") # Ensure the Chrome locale is `en` so all dates are deterministic regardless of local settings options.add_preference('intl.accept_languages', 'en') -- GitLab From e4ec26ea57268d0c224e3df5338b93e39ae37b2a Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Fri, 5 Sep 2025 19:19:10 +1000 Subject: [PATCH 04/11] Apply 1 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index eae5b12b522544..ae97016983c7df 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -66,6 +66,9 @@ options.add_argument("--disable-hang-monitor") options.add_argument("--disable-ipc-flooding-protection") options.add_argument("--max_old_space_size=4096") + options.add_argument("--disable-features=IntensiveWakeUpThrottling") # CRITICAL! + options.add_argument("--disable-features=TimerThrottlingForBackgroundTabs") + options.add_argument("--disable-backgrounding-occluded-windows") options.add_argument("--js-flags=--expose-gc") options.add_argument("--aggressive-cache-discard") options.add_argument("--disable-background-networking") -- GitLab From 611adef38912578a61e0abdcdde7a9bf8e107625 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Fri, 5 Sep 2025 19:22:54 +1000 Subject: [PATCH 05/11] Edit shared.gitlab-ci.yml --- .gitlab/ci/rails/shared.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index ab1f1af7fd8dbd..0c6cd74fe2c82d 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -412,8 +412,8 @@ include: # https://app.snowflake.com/ys68254/gitlab/w3Y3rkdbS25v/chart .rspec-system-parallel: - parallel: 32 + parallel: 40 # https://app.snowflake.com/ys68254/gitlab/w4zGboX1YRrY/chart .rspec-ee-system-parallel: - parallel: 16 + parallel: 20 -- GitLab From c96a478290372feb820e138457dd739967a4b120 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Mon, 8 Sep 2025 06:13:36 +1000 Subject: [PATCH 06/11] Apply 1 suggestion(s) to 1 file(s) --- .gitlab/ci/rails/shared.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index 0c6cd74fe2c82d..0c166d3e1b8ded 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -412,8 +412,8 @@ include: # https://app.snowflake.com/ys68254/gitlab/w3Y3rkdbS25v/chart .rspec-system-parallel: - parallel: 40 + parallel: 34 # https://app.snowflake.com/ys68254/gitlab/w4zGboX1YRrY/chart .rspec-ee-system-parallel: - parallel: 20 + parallel: 18 -- GitLab From 0d9537325b67183e1e6a433e122c6fd9a1ba9b53 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Mon, 8 Sep 2025 06:18:14 +1000 Subject: [PATCH 07/11] Apply 1 suggestion(s) to 1 file(s) --- .gitlab/ci/rails/shared.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab/ci/rails/shared.gitlab-ci.yml b/.gitlab/ci/rails/shared.gitlab-ci.yml index 0c166d3e1b8ded..34d5ecb902c414 100644 --- a/.gitlab/ci/rails/shared.gitlab-ci.yml +++ b/.gitlab/ci/rails/shared.gitlab-ci.yml @@ -412,8 +412,8 @@ include: # https://app.snowflake.com/ys68254/gitlab/w3Y3rkdbS25v/chart .rspec-system-parallel: - parallel: 34 + parallel: 32 # https://app.snowflake.com/ys68254/gitlab/w4zGboX1YRrY/chart .rspec-ee-system-parallel: - parallel: 18 + parallel: 19 -- GitLab From 6f6c135e1d41abb74df6d5716f7e4e55e109d71a Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Mon, 8 Sep 2025 09:37:12 +1000 Subject: [PATCH 08/11] Apply 1 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index ae97016983c7df..2ee0fe0acd9497 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -92,9 +92,6 @@ # Disable /dev/shm use in CI. See https://gitlab.com/gitlab-org/gitlab/issues/4252 options.add_argument("disable-dev-shm-usage") if ENV['CI'] || ENV['CI_SERVER'] - # Explicitly set user-data-dir to prevent crashes. See https://gitlab.com/gitlab-org/gitlab-foss/issues/58882#note_179811508 - options.add_argument("user-data-dir=/tmp/chrome") if ENV['CI'] || ENV['CI_SERVER'] - # Set chrome default download path if ENV['DEFAULT_CHROME_DOWNLOAD_PATH'] options.add_preference("download.default_directory", ENV['DEFAULT_CHROME_DOWNLOAD_PATH']) -- GitLab From 01e536d3daa8977460cf9a52ef4fd533a9ba3481 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Mon, 8 Sep 2025 11:44:49 +1000 Subject: [PATCH 09/11] Apply 1 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 2ee0fe0acd9497..645317e5af249f 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -66,7 +66,7 @@ options.add_argument("--disable-hang-monitor") options.add_argument("--disable-ipc-flooding-protection") options.add_argument("--max_old_space_size=4096") - options.add_argument("--disable-features=IntensiveWakeUpThrottling") # CRITICAL! + options.add_argument("--disable-features=IntensiveWakeUpThrottling") options.add_argument("--disable-features=TimerThrottlingForBackgroundTabs") options.add_argument("--disable-backgrounding-occluded-windows") options.add_argument("--js-flags=--expose-gc") -- GitLab From 3325752faf402eaba19de8fd81eb365774db632c Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Mon, 8 Sep 2025 17:28:12 +1000 Subject: [PATCH 10/11] Apply 3 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 645317e5af249f..98ff3a5593e295 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -56,6 +56,8 @@ TabDiscarding BackForwardCache TimerThrottlingForBackgroundTabs + IsolateOrigins + site-per-process ].join(',') options.add_argument("--disable-features=#{disabled_features}") @@ -65,13 +67,13 @@ options.add_argument("--disable-blink-features=AutomationControlled") options.add_argument("--disable-hang-monitor") options.add_argument("--disable-ipc-flooding-protection") - options.add_argument("--max_old_space_size=4096") - options.add_argument("--disable-features=IntensiveWakeUpThrottling") - options.add_argument("--disable-features=TimerThrottlingForBackgroundTabs") options.add_argument("--disable-backgrounding-occluded-windows") options.add_argument("--js-flags=--expose-gc") options.add_argument("--aggressive-cache-discard") options.add_argument("--disable-background-networking") + options.add_argument('--disable-site-isolation-trials') + options.add_argument('--process-per-site') # Instead of process-per-tab + options.add_argument('--max-renderer-process-count=5') # Limit renderer processes # Ensure the Chrome locale is `en` so all dates are deterministic regardless of local settings options.add_preference('intl.accept_languages', 'en') -- GitLab From cd34e3039b8af33cb10c7368c851ff31a336d8f5 Mon Sep 17 00:00:00 2001 From: Jay McCure Date: Tue, 9 Sep 2025 15:07:23 +1000 Subject: [PATCH 11/11] Apply 1 suggestion(s) to 1 file(s) --- spec/support/capybara.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/support/capybara.rb b/spec/support/capybara.rb index 98ff3a5593e295..97171b624520fd 100644 --- a/spec/support/capybara.rb +++ b/spec/support/capybara.rb @@ -74,6 +74,11 @@ options.add_argument('--disable-site-isolation-trials') options.add_argument('--process-per-site') # Instead of process-per-tab options.add_argument('--max-renderer-process-count=5') # Limit renderer processes + options.add_argument('--memory-pressure-off') + options.add_argument('--max_old_space_size=4096') + options.add_argument('--js-flags=--max-old-space-size=4096') + options.add_argument('--disable-gpu-memory-buffer-video-frames') + options.add_argument('--disable-gpu-memory-buffer-compositor-resources') # Ensure the Chrome locale is `en` so all dates are deterministic regardless of local settings options.add_preference('intl.accept_languages', 'en') -- GitLab