Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[java] removed usage of FileBackedOutputStream in the client #13308

Merged
merged 3 commits into from
Mar 26, 2024

Conversation

joerg1985
Copy link
Member

Description

This will remove the usage of FileBackedOutputStream in the client, i don't think it is needed to cache on disk in the client for the following reasons:

  • The code did already encode the given Capabilities to a string, so everything was in memory before writing it to disk, see old implementation of NewSessionPayload.create(Capabilities caps). This might has been different in the days before the W3C protocol was implemented.
  • JEP 254: Compact Strings, a string has usually only 50% of the size like in Java 8
  • Memory size has increased the last years

The server will still use a FileBackedOutputStream to keep memory usage low, see RequestConverter as this is out of focus from #12737.

Please notice:
There is a new interface created in this PR named Contents.Supplier. In all areas we can easily ensure the InputStream can be created multiple times and we already know the length of the content. So the Contents.memoize can be dropped which used a FileBackedOutputStream to ensure the InputStream can be created multiple times.
Providing the length does help the HttpClient not to start chunking requests, some drivers do not support this.

This new interface is used by the HttpMessage too, the old setter has been deprecated and delegates to the new setter.

Motivation and Context

This is part of #12737

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@joerg1985 joerg1985 changed the title File backed output stream gone [java] removed usage of FileBackedOutputStream in the client Dec 14, 2023
Copy link
Member

@diemol diemol left a comment

Choose a reason for hiding this comment

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

This looks good to me, thanks @joerg1985!

I think the idea of putting the content to disk is to help session creation request when the user sends a huge Firefox profile. But this is probably fine these days for the reasons you mention in the PR description.

However, I would prefer a review from @shs96c, as he wrote most of this code.

@diemol diemol requested a review from shs96c December 15, 2023 09:53
@codecov-commenter
Copy link

codecov-commenter commented Dec 19, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 58.57%. Comparing base (4cfe983) to head (5aeb6da).

❗ Current head 5aeb6da differs from pull request most recent head c23908e. Consider uploading reports for the commit c23908e to get more accurate results

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##            trunk   #13308   +/-   ##
=======================================
  Coverage   58.57%   58.57%           
=======================================
  Files          86       86           
  Lines        5272     5272           
  Branches      220      220           
=======================================
  Hits         3088     3088           
  Misses       1964     1964           
  Partials      220      220           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@joerg1985 joerg1985 force-pushed the FileBackedOutputStreamGone branch from 148050a to a3b8dfd Compare February 18, 2024 20:11
Copy link
Contributor

qodo-merge-pro bot commented Mar 26, 2024

CI Failure Feedback

(Checks updated until commit c23908e)

Action: JavaScript / Browser Tests (firefox) / Browser Tests (firefox)

Failed stage: Run Bazel [❌]

Failed test name: firefox-browser-tests

Failure summary:

The action failed due to the firefox-browser-tests test failing. The test failure was caused by an
inability to import the atoms module get-attribute.js. The error message suggests that the module
'./atoms/get-attribute.js' could not be found, indicating a possible issue with the module path or
that the module was not correctly built or included in the test environment. Additionally, there
were multiple warnings about dependency checking of directories being unsound, which might indicate
further configuration issues in the project setup.

Relevant error logs:
1:  ##[group]Operating System
2:  Ubuntu
...

965:  Package 'php-symfony-debug-bundle' is not installed, so not removed
966:  Package 'php-symfony-dependency-injection' is not installed, so not removed
967:  Package 'php-symfony-deprecation-contracts' is not installed, so not removed
968:  Package 'php-symfony-discord-notifier' is not installed, so not removed
969:  Package 'php-symfony-doctrine-bridge' is not installed, so not removed
970:  Package 'php-symfony-doctrine-messenger' is not installed, so not removed
971:  Package 'php-symfony-dom-crawler' is not installed, so not removed
972:  Package 'php-symfony-dotenv' is not installed, so not removed
973:  Package 'php-symfony-error-handler' is not installed, so not removed
...

1989:  Setting up fonts-terminus-otb (4.48-3.1) ...
1990:  Processing triggers for install-info (6.8-4build1) ...
1991:  Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
1992:  Processing triggers for fontconfig (2.13.1-4.2ubuntu5) ...
1993:  Processing triggers for hicolor-icon-theme (0.17-2) ...
1994:  Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
1995:  Processing triggers for man-db (2.10.2-1) ...
1996:  Processing triggers for menu (2.1.47ubuntu4) ...
1997:  /usr/share/menu/bash: 1: Syntax error: word unexpected (expecting ")")
1998:  /usr/share/menu/telnet: 1: Syntax error: word unexpected (expecting ")")
1999:  /usr/share/menu/google-chrome.menu: 1: Syntax error: word unexpected (expecting ")")
2000:  /usr/share/menu/tcl8.6: 1: Syntax error: word unexpected (expecting ")")
2001:  /usr/share/menu/microsoft-edge.menu: 1: Syntax error: word unexpected (expecting ")")
2002:  /usr/share/menu/procps: 1: Syntax error: word unexpected (expecting ")")
2003:  /usr/share/menu/dash: 1: Syntax error: word unexpected (expecting ")")
2004:  /usr/share/menu/psmisc: 1: Syntax error: word unexpected (expecting ")")
2005:  /usr/share/menu/tk8.6: 1: Syntax error: word unexpected (expecting ")")
2006:  /usr/share/menu/bc: 1: Syntax error: word unexpected (expecting ")")
2007:  /usr/share/menu/monodoc-http: 1: Syntax error: word unexpected (expecting ")")
2008:  NEEDRESTART-VER: 3.5
2009:  NEEDRESTART-KCUR: 6.5.0-1016-azure
2010:  NEEDRESTART-KEXP: 6.5.0-1016-azure
2011:  NEEDRESTART-KSTA: 1
2012:  Warning: Failed to open file(/usr/share/fluxbox/nls/C.UTF-8/fluxbox.cat)
2013:  for translation, using default messages.
2014:  Failed to read: session.ignoreBorder
2015:  Setting default value
2016:  Failed to read: session.forcePseudoTransparency
2017:  Setting default value
2018:  Failed to read: session.colorsPerChannel
2019:  Setting default value
2020:  Failed to read: session.doubleClickInterval
2021:  Setting default value
2022:  Failed to read: session.tabPadding
2023:  Setting default value
2024:  Failed to read: session.styleOverlay
2025:  Setting default value
2026:  Failed to read: session.slitlistFile
2027:  Setting default value
2028:  Failed to read: session.appsFile
2029:  Setting default value
2030:  Failed to read: session.tabsAttachArea
2031:  Setting default value
2032:  Failed to read: session.cacheLife
2033:  Setting default value
2034:  Failed to read: session.cacheMax
2035:  Setting default value
2036:  Failed to read: session.autoRaiseDelay
2037:  Setting default value
2038:  Failed to read: session.ignoreBorder
2039:  Setting default value
2040:  Failed to read: session.forcePseudoTransparency
2041:  Setting default value
2042:  Failed to read: session.colorsPerChannel
2043:  Setting default value
2044:  Failed to read: session.doubleClickInterval
2045:  Setting default value
2046:  Failed to read: session.tabPadding
2047:  Setting default value
2048:  Failed to read: session.styleOverlay
2049:  Setting default value
2050:  Failed to read: session.slitlistFile
2051:  Setting default value
2052:  Failed to read: session.appsFile
2053:  Setting default value
2054:  Failed to read: session.tabsAttachArea
2055:  Setting default value
2056:  Failed to read: session.cacheLife
2057:  Setting default value
2058:  Failed to read: session.cacheMax
2059:  Setting default value
2060:  Failed to read: session.autoRaiseDelay
2061:  Setting default value
2062:  Failed to read: session.screen0.opaqueMove
2063:  Setting default value
2064:  Failed to read: session.screen0.fullMaximization
2065:  Setting default value
2066:  Failed to read: session.screen0.maxIgnoreIncrement
2067:  Setting default value
2068:  Failed to read: session.screen0.maxDisableMove
2069:  Setting default value
2070:  Failed to read: session.screen0.maxDisableResize
2071:  Setting default value
2072:  Failed to read: session.screen0.workspacewarping
2073:  Setting default value
2074:  Failed to read: session.screen0.showwindowposition
2075:  Setting default value
2076:  Failed to read: session.screen0.autoRaise
2077:  Setting default value
2078:  Failed to read: session.screen0.clickRaises
2079:  Setting default value
2080:  Failed to read: session.screen0.defaultDeco
2081:  Setting default value
2082:  Failed to read: session.screen0.tab.placement
2083:  Setting default value
2084:  Failed to read: session.screen0.windowMenu
2085:  Setting default value
2086:  Failed to read: session.screen0.noFocusWhileTypingDelay
2087:  Setting default value
2088:  Failed to read: session.screen0.workspaces
2089:  Setting default value
2090:  Failed to read: session.screen0.edgeSnapThreshold
2091:  Setting default value
2092:  Failed to read: session.screen0.window.focus.alpha
2093:  Setting default value
2094:  Failed to read: session.screen0.window.unfocus.alpha
2095:  Setting default value
2096:  Failed to read: session.screen0.menu.alpha
2097:  Setting default value
2098:  Failed to read: session.screen0.menuDelay
2099:  Setting default value
2100:  Failed to read: session.screen0.tab.width
2101:  Setting default value
2102:  Failed to read: session.screen0.tooltipDelay
2103:  Setting default value
2104:  Failed to read: session.screen0.allowRemoteActions
2105:  Setting default value
2106:  Failed to read: session.screen0.clientMenu.usePixmap
2107:  Setting default value
2108:  Failed to read: session.screen0.tabs.usePixmap
2109:  Setting default value
2110:  Failed to read: session.screen0.tabs.maxOver
2111:  Setting default value
2112:  Failed to read: session.screen0.tabs.intitlebar
2113:  Setting default value
2114:  Failed to read: session.screen0.focusModel
2115:  Setting default value
2116:  Failed to read: session.screen0.tabFocusModel
2117:  Setting default value
2118:  Failed to read: session.screen0.focusNewWindows
2119:  Setting default value
2120:  Failed to read: session.screen0.focusSameHead
2121:  Setting default value
2122:  Failed to read: session.screen0.rowPlacementDirection
2123:  Setting default value
2124:  Failed to read: session.screen0.colPlacementDirection
2125:  Setting default value
2126:  Failed to read: session.screen0.windowPlacement
2127:  Setting default value
2128:  Failed to read: session.ignoreBorder
2129:  Setting default value
2130:  Failed to read: session.forcePseudoTransparency
2131:  Setting default value
2132:  Failed to read: session.colorsPerChannel
2133:  Setting default value
2134:  Failed to read: session.doubleClickInterval
2135:  Setting default value
2136:  Failed to read: session.tabPadding
2137:  Setting default value
2138:  Failed to read: session.styleOverlay
2139:  Setting default value
2140:  Failed to read: session.slitlistFile
2141:  Setting default value
2142:  Failed to read: session.appsFile
2143:  Setting default value
2144:  Failed to read: session.tabsAttachArea
2145:  Setting default value
2146:  Failed to read: session.cacheLife
2147:  Setting default value
2148:  Failed to read: session.cacheMax
2149:  Setting default value
2150:  Failed to read: session.autoRaiseDelay
2151:  Setting default value
2152:  Failed to read: session.screen0.opaqueMove
2153:  Setting default value
2154:  Failed to read: session.screen0.fullMaximization
2155:  Setting default value
2156:  Failed to read: session.screen0.maxIgnoreIncrement
2157:  Setting default value
2158:  Failed to read: session.screen0.maxDisableMove
2159:  Setting default value
2160:  Failed to read: session.screen0.maxDisableResize
2161:  Setting default value
2162:  Failed to read: session.screen0.workspacewarping
2163:  Setting default value
2164:  Failed to read: session.screen0.showwindowposition
2165:  Setting default value
2166:  Failed to read: session.screen0.autoRaise
2167:  Setting default value
2168:  Failed to read: session.screen0.clickRaises
2169:  Setting default value
2170:  Failed to read: session.screen0.defaultDeco
2171:  Setting default value
2172:  Failed to read: session.screen0.tab.placement
2173:  Setting default value
2174:  Failed to read: session.screen0.windowMenu
2175:  Setting default value
2176:  Failed to read: session.screen0.noFocusWhileTypingDelay
2177:  Setting default value
2178:  Failed to read: session.screen0.workspaces
2179:  Setting default value
2180:  Failed to read: session.screen0.edgeSnapThreshold
2181:  Setting default value
2182:  Failed to read: session.screen0.window.focus.alpha
2183:  Setting default value
2184:  Failed to read: session.screen0.window.unfocus.alpha
2185:  Setting default value
2186:  Failed to read: session.screen0.menu.alpha
2187:  Setting default value
2188:  Failed to read: session.screen0.menuDelay
2189:  Setting default value
2190:  Failed to read: session.screen0.tab.width
2191:  Setting default value
2192:  Failed to read: session.screen0.tooltipDelay
2193:  Setting default value
2194:  Failed to read: session.screen0.allowRemoteActions
2195:  Setting default value
2196:  Failed to read: session.screen0.clientMenu.usePixmap
2197:  Setting default value
2198:  Failed to read: session.screen0.tabs.usePixmap
2199:  Setting default value
2200:  Failed to read: session.screen0.tabs.maxOver
2201:  Setting default value
2202:  Failed to read: session.screen0.tabs.intitlebar
2203:  Setting default value
2204:  Failed to read: session.screen0.focusModel
2205:  Setting default value
2206:  Failed to read: session.screen0.tabFocusModel
2207:  Setting default value
2208:  Failed to read: session.screen0.focusNewWindows
2209:  Setting default value
2210:  Failed to read: session.screen0.focusSameHead
2211:  Setting default value
2212:  Failed to read: session.screen0.rowPlacementDirection
2213:  Setting default value
2214:  Failed to read: session.screen0.colPlacementDirection
2215:  Setting default value
2216:  Failed to read: session.screen0.windowPlacement
2217:  Setting default value
2218:  Failed to read: session.screen0.slit.acceptKdeDockapps
2219:  Setting default value
2220:  Failed to read: session.screen0.slit.autoHide
2221:  Setting default value
2222:  Failed to read: session.screen0.slit.maxOver
2223:  Setting default value
2224:  Failed to read: session.screen0.slit.placement
2225:  Setting default value
2226:  Failed to read: session.screen0.slit.alpha
2227:  Setting default value
2228:  Failed to read: session.screen0.slit.onhead
2229:  Setting default value
2230:  Failed to read: session.screen0.slit.layer
2231:  Setting default value
2232:  Failed to read: session.screen0.toolbar.autoHide
2233:  Setting default value
2234:  Failed to read: session.screen0.toolbar.maxOver
2235:  Setting default value
2236:  Failed to read: session.screen0.toolbar.visible
2237:  Setting default value
2238:  Failed to read: session.screen0.toolbar.alpha
2239:  Setting default value
2240:  Failed to read: session.screen0.toolbar.layer
2241:  Setting default value
2242:  Failed to read: session.screen0.toolbar.onhead
2243:  Setting default value
2244:  Failed to read: session.screen0.toolbar.placement
2245:  Setting default value
2246:  Failed to read: session.screen0.toolbar.height
2247:  Setting default value
2248:  Failed to read: session.screen0.iconbar.mode
2249:  Setting default value
2250:  Failed to read: session.screen0.iconbar.alignment
2251:  Setting default value
2252:  Failed to read: session.screen0.iconbar.iconWidth
2253:  Setting default value
2254:  Failed to read: session.screen0.iconbar.iconTextPadding
2255:  Setting default value
2256:  Failed to read: session.screen0.iconbar.usePixmap
...

2360:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/has-flag@4.0.0/pkg is a directory; dependency checking of directories is unsound
2361:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/fs.realpath@1.0.0/pkg is a directory; dependency checking of directories is unsound
2362:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/find-up@5.0.0/pkg is a directory; dependency checking of directories is unsound
2363:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/escape-string-regexp@4.0.0/pkg is a directory; dependency checking of directories is unsound
2364:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/emoji-regex@8.0.0/pkg is a directory; dependency checking of directories is unsound
2365:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/statuses@1.5.0/pkg is a directory; dependency checking of directories is unsound
2366:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/setprototypeof@1.1.0/pkg is a directory; dependency checking of directories is unsound
2367:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/inherits@2.0.3/pkg is a directory; dependency checking of directories is unsound
2368:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/http-errors@1.6.3/pkg is a directory; dependency checking of directories is unsound
...

2451:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/mime-types@2.1.35/pkg is a directory; dependency checking of directories is unsound
2452:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/mime-db@1.52.0/pkg is a directory; dependency checking of directories is unsound
2453:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/mime@1.6.0/pkg is a directory; dependency checking of directories is unsound
2454:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/methods@1.1.2/pkg is a directory; dependency checking of directories is unsound
2455:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/merge-descriptors@1.0.1/pkg is a directory; dependency checking of directories is unsound
2456:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/media-typer@0.3.0/pkg is a directory; dependency checking of directories is unsound
2457:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/iconv-lite@0.4.24/pkg is a directory; dependency checking of directories is unsound
2458:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/ipaddr.js@1.9.1/pkg is a directory; dependency checking of directories is unsound
2459:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/http-errors@2.0.0/pkg is a directory; dependency checking of directories is unsound
...

2506:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/chokidar@3.5.3/pkg is a directory; dependency checking of directories is unsound
2507:  �[35mWARNING: �[0m/home/runner/work/selenium/selenium/BUILD.bazel:13:22: input 'package' to //:.aspect_rules_js/node_modules/fsevents@2.3.2/lc is a directory; dependency checking of directories is unsound
2508:  �[32m[1,945 / 2,490]�[0m [Prepa] Checking 1 JS files in @io_bazel_rules_closure//closure/library/labs/useragent:device ... (4 actions, 0 running)
2509:  �[32m[2,490 / 2,491]�[0m [Sched] Testing //javascript/node/selenium-webdriver:firefox-browser-tests
2510:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:firefox-browser-tests (see /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_1.log)
2511:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:firefox-browser-tests (see /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_2.log)
2512:  �[32m[2,490 / 2,491]�[0m Testing //javascript/node/selenium-webdriver:firefox-browser-tests; 1s local, disk-cache
2513:  �[31m�[1mFAIL: �[0m//javascript/node/selenium-webdriver:firefox-browser-tests (see /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test.log)
2514:  �[31m�[1mFAILED: �[0m//javascript/node/selenium-webdriver:firefox-browser-tests (Summary)
2515:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test.log
2516:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_1.log
2517:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_2.log
2518:  �[32mINFO: �[0mFrom Testing //javascript/node/selenium-webdriver:firefox-browser-tests:
2519:  ==================== Test output for //javascript/node/selenium-webdriver:firefox-browser-tests:
2520:  Error: Failed to import atoms module get-attribute.js. If running in dev mode, you need to run `bazel build //javascript/node/selenium-webdriver/lib/atoms:get-attribute.js` from the projectroot: Error: Cannot find module './atoms/get-attribute.js'
...

2565:  at Module._compile (node:internal/modules/cjs/loader:1256:14)
2566:  at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
2567:  at Module.load (node:internal/modules/cjs/loader:1119:32)
2568:  at Module._load (node:internal/modules/cjs/loader:960:12)
2569:  at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:169:29)
2570:  at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
2571:  ================================================================================
2572:  ==================== Test output for //javascript/node/selenium-webdriver:firefox-browser-tests:
2573:  Error: Failed to import atoms module get-attribute.js. If running in dev mode, you need to run `bazel build //javascript/node/selenium-webdriver/lib/atoms:get-attribute.js` from the projectroot: Error: Cannot find module './atoms/get-attribute.js'
...

2618:  at Module._compile (node:internal/modules/cjs/loader:1256:14)
2619:  at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
2620:  at Module.load (node:internal/modules/cjs/loader:1119:32)
2621:  at Module._load (node:internal/modules/cjs/loader:960:12)
2622:  at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:169:29)
2623:  at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
2624:  ================================================================================
2625:  ==================== Test output for //javascript/node/selenium-webdriver:firefox-browser-tests:
2626:  Error: Failed to import atoms module get-attribute.js. If running in dev mode, you need to run `bazel build //javascript/node/selenium-webdriver/lib/atoms:get-attribute.js` from the projectroot: Error: Cannot find module './atoms/get-attribute.js'
...

2675:  at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:169:29)
2676:  at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
2677:  ================================================================================
2678:  �[32mINFO: �[0mFound 1 test target...
2679:  Target //javascript/node/selenium-webdriver:firefox-browser-tests up-to-date:
2680:  bazel-bin/javascript/node/selenium-webdriver/firefox-browser-tests.sh
2681:  �[32mINFO: �[0mElapsed time: 32.317s, Critical Path: 2.04s
2682:  �[32mINFO: �[0m2475 processes: 1449 disk cache hit, 1018 internal, 4 linux-sandbox, 4 local.
2683:  �[32mINFO: �[0mBuild completed, 1 test FAILED, 2475 total actions
2684:  //javascript/node/selenium-webdriver:firefox-browser-tests               �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 0.4s
2685:  Stats over 3 runs: max = 0.4s, min = 0.3s, avg = 0.3s, dev = 0.0s
2686:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test.log
2687:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_1.log
2688:  /home/runner/.bazel/execroot/selenium/bazel-out/k8-fastbuild/testlogs/javascript/node/selenium-webdriver/firefox-browser-tests/test_attempts/attempt_2.log
2689:  Executed 1 out of 1 test: �[0m�[31m�[1m1 fails locally�[0m.
2690:  �[0m
2691:  ##[error]Process completed with exit code 3.

✨ CI feedback usage guide:

The CI feedback tool (/checks) automatically triggers when a PR has a failed check.
The tool analyzes the failed checks and provides several feedbacks:

  • Failed stage
  • Failed test name
  • Failure summary
  • Relevant error logs

In addition to being automatically triggered, the tool can also be invoked manually by commenting on a PR:

/checks "https://github.com/{repo_name}/actions/runs/{run_number}/job/{job_number}"

where {repo_name} is the name of the repository, {run_number} is the run number of the failed check, and {job_number} is the job number of the failed check.

Configuration options

  • enable_auto_checks_feedback - if set to true, the tool will automatically provide feedback when a check is failed. Default is true.
  • excluded_checks_list - a list of checks to exclude from the feedback, for example: ["check1", "check2"]. Default is an empty list.
  • enable_help_text - if set to true, the tool will provide a help message with the feedback. Default is true.
  • persistent_comment - if set to true, the tool will overwrite a previous checks comment with the new feedback. Default is true.
  • final_update_message - if persistent_comment is true and updating a previous checks message, the tool will also create a new message: "Persistent checks updated to latest commit". Default is true.

See more information about the checks tool in the docs.

@diemol diemol merged commit 55e7a53 into trunk Mar 26, 2024
36 of 39 checks passed
@diemol diemol deleted the FileBackedOutputStreamGone branch March 26, 2024 14:13
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.

3 participants