diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a75b9b0a42d2..382e4d9c4c8e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -275,18 +275,11 @@ jobs: set -euo pipefail SOURCE_PACKAGES_DIR="$PWD/.ci-source-packages" run_unit_tests() { - # These app-host tests create real SwiftUI/WebKit/Ghostty windows and - # intermittently crash inside XCTest's post-test memory checker or - # leave native display/WebKit work alive on GitHub macOS runners. - # When that happens, Swift's crash/backtrace handling or the stale - # app-host process keeps xcodebuild alive until the job-level timeout, - # hiding the actual unit test summary. xcodebuild -project cmux.xcodeproj -scheme cmux-unit -configuration Debug \ -clonedSourcePackagesDirPath "$SOURCE_PACKAGES_DIR" \ -disableAutomaticPackageResolution \ -destination "platform=macOS" \ CMUX_SKIP_ZIG_BUILD=1 \ - -skip-testing:cmuxTests/FileExplorerStoreTests/testRemoteWorkspaceRootRequestResolvesSSHHomeInsteadOfKeepingLocalPath \ test 2>&1 & local xcodebuild_pid=$! local timeout_seconds="${CMUX_UNIT_TEST_TIMEOUT_SECONDS:-900}" diff --git a/Sources/FileExplorerStore.swift b/Sources/FileExplorerStore.swift index 2258b7a4bb4b..1755cd8ed2ae 100644 --- a/Sources/FileExplorerStore.swift +++ b/Sources/FileExplorerStore.swift @@ -888,6 +888,7 @@ final class FileExplorerStore: ObservableObject { @MainActor private func loadChildren(for parentNode: FileExplorerNode?, at path: String, silent: Bool = false) async { + guard !Task.isCancelled else { return } guard let provider else { return } if !silent {