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

[rust] Select release with artifact when filtering Edge response #13735

Merged
merged 3 commits into from
Mar 26, 2024

Conversation

bonigarcia
Copy link
Member

@bonigarcia bonigarcia commented Mar 25, 2024

User description

Description

This PR makes the filtering process used by Selenium Manager more robust in discovering the proper Edge release to download.

Motivation and Context

It seems the responses provided by the Edge products API has recently changed, since now, it can provide releases with empty artifacts. As a result, Selenium Manager fails discovering Edge, as it happens in some tests (e.g. here). This PR should prevent that.

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.

Type

Bug fix


Description

  • Filters out Edge releases without artifacts to ensure proper discovery of Edge releases.
  • Fixes an issue where Selenium Manager could fail to discover Edge due to releases with empty artifacts.

Changes walkthrough

Relevant files
Bug fix
edge.rs
Improve Edge Release Filtering in Selenium Manager             

rust/src/edge.rs

  • Filters Edge releases to only consider those with non-empty artifacts.
  • Returns an unavailable discovery result if no releases with artifacts
    are found.
  • Ensures that the selected release has at least one artifact.
  • +9/-1     

    PR-Agent usage:
    Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    Copy link
    Contributor

    PR Description updated to latest commit (a5ac402)

    Copy link
    Contributor

    PR Review

    ⏱️ Estimated effort to review [1-5]

    2, because the changes are localized to a specific functionality within the EdgeManager and involve a straightforward filtering logic to address the issue of releases with empty artifacts. The logic is not complex, and the changes are well-contained.

    🧪 Relevant tests

    No

    🔍 Possible issues

    Possible Bug: The use of into_iter() followed by a filter and collect might inadvertently consume the releases vector, making it unavailable for further use if the code were to be extended in the future. Consider using iter() or iter_mut() as appropriate to maintain ownership of the releases vector.

    Error Handling: The method unavailable_discovery() is called when no releases with artifacts are found. It would be beneficial to ensure that this method provides clear and informative feedback to the user or system about the nature of the failure, especially since this is handling a potential edge case.

    🔒 Security concerns

    No


    ✨ Review tool usage guide:

    Overview:
    The review tool scans the PR code changes, and generates a PR review which includes several types of feedbacks, such as possible PR issues, security threats and relevant test in the PR. More feedbacks can be added by configuring the tool.

    The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.

    • When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:
    /review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...
    
    [pr_reviewer]
    some_config1=...
    some_config2=...
    

    See the review usage page for a comprehensive guide on using this tool.

    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 25, 2024

    PR Code Suggestions

    CategorySuggestions                                                                                                                                                       
    Best practice
    Replace unwrap() with expect() to provide a clearer error message in case of None.

    Using unwrap() directly on an Option can cause the program to panic if the Option is None.
    It's safer to handle the None case explicitly, either by providing a default value with
    unwrap_or, unwrap_or_else, or by using pattern matching or an if let statement to
    gracefully handle the absence of a value.

    rust/src/edge.rs [458]

    -let release = releases_with_artifacts.first().unwrap();
    +let release = releases_with_artifacts.first().expect("No releases with artifacts found");
     
    Performance
    Use find instead of filter followed by is_empty check for efficiency.

    Instead of filtering releases into a new vector releases_with_artifacts and then checking
    if it's empty, you can use the find method to directly find the first release that
    satisfies the condition. This is more efficient as it stops iterating once it finds a
    match.

    rust/src/edge.rs [450-456]

    -let releases_with_artifacts: Vec<&Release> = releases
    +let release = releases
         .into_iter()
    -    .filter(|r| !r.artifacts.is_empty())
    -    .collect();
    -if releases_with_artifacts.is_empty() {
    +    .find(|r| !r.artifacts.is_empty());
    +if release.is_none() {
         return self.unavailable_discovery();
     }
    +let release = release.unwrap();
     
    Maintainability
    Extract filtering logic into a separate function for better modularity.

    To improve code readability and maintainability, consider extracting the logic for
    filtering releases with artifacts into a separate function. This makes the code more
    modular and easier to test.

    rust/src/edge.rs [450-453]

    -let releases_with_artifacts: Vec<&Release> = releases
    -    .into_iter()
    -    .filter(|r| !r.artifacts.is_empty())
    -    .collect();
    +let releases_with_artifacts = filter_releases_with_artifacts(releases);
     
    +// Elsewhere in the module
    +fn filter_releases_with_artifacts(releases: Vec<Release>) -> Vec<&Release> {
    +    releases.into_iter().filter(|r| !r.artifacts.is_empty()).collect()
    +}
    +

    ✨ Improve tool usage guide:

    Overview:
    The improve tool scans the PR code changes, and automatically generates suggestions for improving the PR code. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on a PR.

    • When commenting, to edit configurations related to the improve tool (pr_code_suggestions section), use the following template:
    /improve --pr_code_suggestions.some_config1=... --pr_code_suggestions.some_config2=...
    
    [pr_code_suggestions]
    some_config1=...
    some_config2=...
    

    See the improve usage page for a comprehensive guide on using this tool.

    Copy link
    Contributor

    qodo-merge-pro bot commented Mar 25, 2024

    CI Failure Feedback

    (Checks updated until commit db8cd24)

    Action: Rust / Tests (macos) / Tests (macos)

    Failed stage: Run Bazel [❌]

    Failed test name: //rust:integration_tests/browser_download_tests

    Failure summary:

    The action failed due to the failure of the //rust:integration_tests/browser_download_tests.
    Specifically, two test cases within this test suite, browser_latest_download_test::case_2 and
    browser_latest_download_test::case_3, failed. The failures were caused by the inability to find the
    expected browser paths for Firefox and Edge, as indicated by the error messages stating "Expected
    firefox path does not exists" and "Expected edge path does not exists". Additionally, there were
    warnings about the inability to download Firefox version 124 and Edge version 122, leading to the
    use of cached drivers instead. The assertion failures in both test cases were due to the
    non-existence of the expected browser paths, which were critical for the tests' operations.

    Relevant error logs:
    1:  ##[group]Operating System
    2:  macOS
    ...
    
    230:  TWINE_USERNAME: 
    231:  SE_AVOID_STATS: true
    232:  ##[endgroup]
    233:  ==============================================================================
    234:  ./scripts/github-actions/free-disk-space.sh: line 33: dpkg-query: command not found
    235:  Freeing up disk space on CI system
    236:  ==============================================================================
    237:  Listing 100 largest packages
    238:  df: getattrlist failed: Input/output error
    ...
    
    248:  sudo: apt-get: command not found
    249:  sudo: apt-get: command not found
    250:  sudo: apt-get: command not found
    251:  sudo: apt-get: command not found
    252:  sudo: apt-get: command not found
    253:  sudo: apt-get: command not found
    254:  sudo: apt-get: command not found
    255:  sudo: apt-get: command not found
    256:  df: getattrlist failed: Input/output error
    ...
    
    258:  /dev/disk1s5s1  380Gi   14Gi  138Gi    10%  502376 1446031080    0%   /
    259:  devfs           184Ki  184Ki    0Bi   100%     638          0  100%   /dev
    260:  /dev/disk1s4    380Gi  1.0Mi  138Gi     1%       1 1446031080    0%   /System/Volumes/VM
    261:  /dev/disk1s2    380Gi  1000i  138Gi     1%    6668 1446031080    0%   /System/Volumes/Preboot
    262:  /dev/disk1s6    380Gi  8.2Mi  138Gi     1%      18 1446031080    0%   /System/Volumes/Update
    263:  /dev/disk1s1    380Gi  225Gi  138Gi    63% 5629904 1446031080    0%   /System/Volumes/Data
    264:  map auto_home     0Bi    0Bi    0Bi   100%       0          0  100%   /System/Volumes/Data/home
    265:  Removing large directories
    266:  df: getattrlist failed: Input/output error
    ...
    
    988:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 93s local, disk-cache
    989:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 114s local, disk-cache
    990:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 131s local, disk-cache
    991:  �[31m�[1mFAIL: �[0m//rust:integration_tests/browser_download_tests (see /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test_attempts/attempt_2.log)
    992:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 133s local, disk-cache
    993:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 179s local, disk-cache
    994:  �[32m[584 / 585]�[0m 33 / 34 tests;�[0m Testing //rust:integration_tests/browser_download_tests; 194s local, disk-cache
    995:  �[31m�[1mFAIL: �[0m//rust:integration_tests/browser_download_tests (see /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test.log)
    996:  �[31m�[1mFAILED: �[0m//rust:integration_tests/browser_download_tests (Summary)
    997:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test.log
    998:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test_attempts/attempt_1.log
    999:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test_attempts/attempt_2.log
    1000:  ==================== Test output for //rust:integration_tests/browser_download_tests:
    1001:  �[32mINFO: �[0mFrom Testing //rust:integration_tests/browser_download_tests:
    1002:  running 9 tests
    1003:  test browser_latest_download_test::case_2 ... FAILED
    1004:  test browser_latest_download_test::case_3 ... FAILED
    ...
    
    1032:  {
    1033:  "level": "WARN",
    1034:  "timestamp": 1711448261,
    1035:  "message": "Expected firefox path does not exists: /Users/runner/.cache/selenium/firefox/mac64/124.0.1/Firefox.app/Contents/MacOS/firefox"
    1036:  },
    1037:  {
    1038:  "level": "WARN",
    1039:  "timestamp": 1711448261,
    1040:  "message": "There was an error managing geckodriver (firefox 124 cannot be downloaded); using driver found in the cache"
    ...
    
    1053:  "result": {
    1054:  "code": 0,
    1055:  "message": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1056:  "driver_path": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1057:  "browser_path": ""
    1058:  }
    1059:  }
    1060:  thread 'browser_latest_download_test::case_2' panicked at rust/tests/common.rs:47:5:
    1061:  assertion failed: browser_path.exists()
    ...
    
    1100:  {
    1101:  "level": "WARN",
    1102:  "timestamp": 1711448278,
    1103:  "message": "Expected edge path does not exists: /Users/runner/.cache/selenium/edge/mac64/122.0.2365.92/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
    1104:  },
    1105:  {
    1106:  "level": "WARN",
    1107:  "timestamp": 1711448278,
    1108:  "message": "There was an error managing msedgedriver (edge 122 cannot be downloaded); using driver found in the cache"
    ...
    
    1121:  "result": {
    1122:  "code": 0,
    1123:  "message": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1124:  "driver_path": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1125:  "browser_path": ""
    1126:  }
    1127:  }
    1128:  thread 'browser_latest_download_test::case_3' panicked at rust/tests/common.rs:47:5:
    1129:  assertion failed: browser_path.exists()
    ...
    
    1140:  6: integration_tests_browser_download_tests::browser_latest_download_test::case_3::{{closure}}
    1141:  7: core::ops::function::FnOnce::call_once
    1142:  8: core::ops::function::FnOnce::call_once
    1143:  at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/core/src/ops/function.rs:250:5
    1144:  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    1145:  failures:
    1146:  browser_latest_download_test::case_2
    1147:  browser_latest_download_test::case_3
    1148:  test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 91.22s
    1149:  ================================================================================
    1150:  ==================== Test output for //rust:integration_tests/browser_download_tests:
    1151:  running 9 tests
    1152:  test browser_latest_download_test::case_1 ... ok
    1153:  test browser_version_download_test::case_1 ... ok
    1154:  test browser_version_download_test::case_2 ... ok
    1155:  test browser_latest_download_test::case_2 ... FAILED
    1156:  test browser_version_download_test::case_3 ... ok
    1157:  test browser_version_download_test::case_4 ... ok
    1158:  test browser_version_download_test::case_6 ... ok
    1159:  test browser_version_download_test::case_5 ... ok
    1160:  test browser_latest_download_test::case_3 ... FAILED
    ...
    
    1180:  {
    1181:  "level": "WARN",
    1182:  "timestamp": 1711448341,
    1183:  "message": "Expected firefox path does not exists: /Users/runner/.cache/selenium/firefox/mac64/124.0.1/Firefox.app/Contents/MacOS/firefox"
    1184:  },
    1185:  {
    1186:  "level": "WARN",
    1187:  "timestamp": 1711448341,
    1188:  "message": "There was an error managing geckodriver (firefox 124 cannot be downloaded); using driver found in the cache"
    ...
    
    1201:  "result": {
    1202:  "code": 0,
    1203:  "message": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1204:  "driver_path": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1205:  "browser_path": ""
    1206:  }
    1207:  }
    1208:  thread 'browser_latest_download_test::case_2' panicked at rust/tests/common.rs:47:5:
    1209:  assertion failed: browser_path.exists()
    ...
    
    1248:  {
    1249:  "level": "WARN",
    1250:  "timestamp": 1711448356,
    1251:  "message": "Expected edge path does not exists: /Users/runner/.cache/selenium/edge/mac64/122.0.2365.92/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
    1252:  },
    1253:  {
    1254:  "level": "WARN",
    1255:  "timestamp": 1711448356,
    1256:  "message": "There was an error managing msedgedriver (edge 122 cannot be downloaded); using driver found in the cache"
    ...
    
    1269:  "result": {
    1270:  "code": 0,
    1271:  "message": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1272:  "driver_path": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1273:  "browser_path": ""
    1274:  }
    1275:  }
    1276:  thread 'browser_latest_download_test::case_3' panicked at rust/tests/common.rs:47:5:
    1277:  assertion failed: browser_path.exists()
    ...
    
    1288:  6: integration_tests_browser_download_tests::browser_latest_download_test::case_3::{{closure}}
    1289:  7: core::ops::function::FnOnce::call_once
    1290:  8: core::ops::function::FnOnce::call_once
    1291:  at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/core/src/ops/function.rs:250:5
    1292:  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    1293:  failures:
    1294:  browser_latest_download_test::case_2
    1295:  browser_latest_download_test::case_3
    1296:  test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 39.64s
    1297:  ================================================================================
    1298:  ==================== Test output for //rust:integration_tests/browser_download_tests:
    1299:  running 9 tests
    1300:  test browser_latest_download_test::case_1 ... ok
    1301:  test browser_version_download_test::case_1 ... ok
    1302:  test browser_version_download_test::case_2 ... ok
    1303:  test browser_latest_download_test::case_2 ... FAILED
    1304:  test browser_version_download_test::case_3 ... ok
    1305:  test browser_latest_download_test::case_3 has been running for over 60 seconds
    1306:  test browser_version_download_test::case_4 ... ok
    1307:  test browser_version_download_test::case_5 ... ok
    1308:  test browser_latest_download_test::case_3 ... FAILED
    ...
    
    1329:  {
    1330:  "level": "WARN",
    1331:  "timestamp": 1711448400,
    1332:  "message": "Expected firefox path does not exists: /Users/runner/.cache/selenium/firefox/mac64/124.0.1/Firefox.app/Contents/MacOS/firefox"
    1333:  },
    1334:  {
    1335:  "level": "WARN",
    1336:  "timestamp": 1711448400,
    1337:  "message": "There was an error managing geckodriver (firefox 124 cannot be downloaded); using driver found in the cache"
    ...
    
    1350:  "result": {
    1351:  "code": 0,
    1352:  "message": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1353:  "driver_path": "/Users/runner/.cache/selenium/geckodriver/mac64/0.34.0/geckodriver",
    1354:  "browser_path": ""
    1355:  }
    1356:  }
    1357:  thread 'browser_latest_download_test::case_2' panicked at rust/tests/common.rs:47:5:
    1358:  assertion failed: browser_path.exists()
    ...
    
    1397:  {
    1398:  "level": "WARN",
    1399:  "timestamp": 1711448415,
    1400:  "message": "Expected edge path does not exists: /Users/runner/.cache/selenium/edge/mac64/122.0.2365.92/Microsoft Edge.app/Contents/MacOS/Microsoft Edge"
    1401:  },
    1402:  {
    1403:  "level": "WARN",
    1404:  "timestamp": 1711448415,
    1405:  "message": "There was an error managing msedgedriver (edge 122 cannot be downloaded); using driver found in the cache"
    ...
    
    1418:  "result": {
    1419:  "code": 0,
    1420:  "message": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1421:  "driver_path": "/Users/runner/.cache/selenium/msedgedriver/mac64/122.0.2365.92/msedgedriver",
    1422:  "browser_path": ""
    1423:  }
    1424:  }
    1425:  thread 'browser_latest_download_test::case_3' panicked at rust/tests/common.rs:47:5:
    1426:  assertion failed: browser_path.exists()
    ...
    
    1437:  6: integration_tests_browser_download_tests::browser_latest_download_test::case_3::{{closure}}
    1438:  7: core::ops::function::FnOnce::call_once
    1439:  8: core::ops::function::FnOnce::call_once
    1440:  at /rustc/aedd173a2c086e558c2b66d3743b344f977621a7/library/core/src/ops/function.rs:250:5
    1441:  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
    1442:  failures:
    1443:  browser_latest_download_test::case_2
    1444:  browser_latest_download_test::case_3
    1445:  test result: FAILED. 7 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 62.87s
    1446:  ================================================================================
    1447:  �[32mINFO: �[0mFound 3 targets and 34 test targets...
    1448:  �[32mINFO: �[0mElapsed time: 982.207s, Critical Path: 512.82s
    1449:  �[32mINFO: �[0m585 processes: 16 disk cache hit, 216 internal, 301 darwin-sandbox, 52 local.
    1450:  //rust:integration_tests/browser_download_tests-fmt                      �[0m�[32mPASSED�[0m in 5.2s
    1451:  �[32mINFO: �[0mBuild completed, 1 test FAILED, 585 total actions
    ...
    
    1476:  //rust:integration_tests/timeout_tests                                   �[0m�[32mPASSED�[0m in 0.7s
    1477:  //rust:integration_tests/timeout_tests-fmt                               �[0m�[32mPASSED�[0m in 0.1s
    1478:  //rust:integration_tests/webview_tests                                   �[0m�[32mPASSED�[0m in 0.5s
    1479:  //rust:integration_tests/webview_tests-fmt                               �[0m�[32mPASSED�[0m in 0.1s
    1480:  //rust:selenium-manager-fmt                                              �[0m�[32mPASSED�[0m in 0.1s
    1481:  //rust:selenium_manager-fmt                                              �[0m�[32mPASSED�[0m in 0.6s
    1482:  //rust:unit                                                              �[0m�[32mPASSED�[0m in 0.3s
    1483:  //rust:unit-fmt                                                          �[0m�[32mPASSED�[0m in 0.5s
    1484:  //rust:integration_tests/browser_download_tests                          �[0m�[31m�[1mFAILED�[0m in 3 out of 3 in 91.4s
    1485:  Stats over 3 runs: max = 91.4s, min = 39.8s, avg = 64.7s, dev = 21.1s
    1486:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test.log
    1487:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test_attempts/attempt_1.log
    1488:  /Users/runner/.bazel/execroot/selenium/bazel-out/darwin_x86_64-fastbuild/testlogs/rust/integration_tests/browser_download_tests/test_attempts/attempt_2.log
    1489:  Executed 34 out of 34 tests: 33 tests pass and �[0m�[31m�[1m1 fails locally�[0m.
    1490:  There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.
    1491:  �[0m
    1492:  ##[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.

    @bonigarcia bonigarcia force-pushed the sm_check_edge branch 3 times, most recently from 70ece9e to a3ba2c1 Compare March 26, 2024 00:08
    @diemol
    Copy link
    Member

    diemol commented Mar 26, 2024

    I think we need to merge this anyway because I see failures in trunk.

    @bonigarcia
    Copy link
    Member Author

    Yes, this needs to be merged. I'm doing it.

    @diemol
    Copy link
    Member

    diemol commented Mar 26, 2024

    macOS tests are still failing... I wonder if the paths have changed?

    @diemol
    Copy link
    Member

    diemol commented Mar 26, 2024

    However, they are all passing locally for me.

    @bonigarcia
    Copy link
    Member Author

    However, they are all passing locally for me.

    Same here. I will investigate why it is failing in GHA.

    @bonigarcia bonigarcia merged commit 242befb into trunk Mar 26, 2024
    19 of 20 checks passed
    @bonigarcia bonigarcia deleted the sm_check_edge branch March 26, 2024 10:53
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    Status: Done
    Development

    Successfully merging this pull request may close these issues.

    2 participants