Skip to content

Re-apply "Tests: enable Swift PM tests in Windows toolchain build"" #82274

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

bkhouri
Copy link
Contributor

@bkhouri bkhouri commented Jun 16, 2025

Reverts #82265, which re-applies #80405

Enable the SwiftPM tests in the Windows toolchain build to get extra confidence the change did not introduce any regression on the Windows platform.

In addition to the re-application of #80405, execute SwiftPM tesst in parallel

Fixes: swiftlang/swift-package-manager#8895
Depends on: swiftlang/swift-package-manager#8899

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 16, 2025

@swift-ci smoke test

1 similar comment
@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 17, 2025

@swift-ci smoke test

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 18, 2025

Windows platform build failed with Test Case 'PrepareForIndexTests.testEnaBuild timed out (after 60 minutes). Marking the build as aborted.

Trying again

@swift-ci smoke test windows

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 19, 2025

Windows Platform build failed with Test Case 'VersionSetSpecifierTests.testPrereleases' started at 2025-06-18 23Build timed out (after 60 minutes). Marking the build as aborted.

Between this and the previous execution, the test that hangs in non-deterministic.

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 20, 2025

@swift-ci smoke test windows

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 21, 2025

without code changes, the Windows platform build failed

Test Case 'ManifestEditTests.testAddPackageDependencyExistingNoComma' started at 2025-06-21 02:46:51.493

C:\Users\swift-ci\jenkins\workspace\swift-PR-windoBuild timed out (after 60 minutes). Marking the build as aborted.

@bkhouri
Copy link
Contributor Author

bkhouri commented Jun 30, 2025

@swift-ci test windows

1 similar comment
@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 2, 2025

@swift-ci test windows

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 2, 2025

@bkhouri bkhouri marked this pull request as ready for review July 2, 2025 19:54
@bkhouri bkhouri requested a review from compnerd as a code owner July 2, 2025 19:54
@compnerd compnerd requested a review from shahmishal July 2, 2025 19:55
@compnerd
Copy link
Member

compnerd commented Jul 2, 2025

In its current state, this is adding ~65m to the overall test time, which might be a bit excessive. I have a set of patches up which need some help to get merged, but bring this time down to ~8m.

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 2, 2025

In its current state, this is adding ~65m to the overall test time, which might be a bit excessive. I have a set of patches up which need some help to get merged, but bring this time down to ~8m.

I'm in favour of submitting this, once the test are passing, and then working on the other changes to bring the time down. This will ensure other changes that execute this script will execute the SwiftPM tests as well, helping to ensure regressions are not introduced.

Can you please share the PRs that bring this time down?

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 4, 2025

Adding comment for automatic GitHub traceability.

This PR fixes: swiftlang/swift-package-manager#8895

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 4, 2025

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 7, 2025

@bkhouri bkhouri force-pushed the revert-82265-revert-80405-t/main/update_swiftpm_presets branch from 34cd647 to 0bb3d3d Compare July 7, 2025 19:17
@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 7, 2025

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 7, 2025

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 8, 2025

It looks like the Swift Test Windows Platform has test hangs

[1929/1930] Testing FunctionalTests.ResourcesTests/testResourcesInMixedClangPackage
[1930/1930] Testing FunctionalTests.ResourcesTests/testResourcesOutsideOfTargetCanBeIncluded
Build timed out (after 60 minutes). Marking the build as aborted.
Build was aborted

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 9, 2025

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 9, 2025

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 9, 2025

swiftlang/swift-package-manager#8899

@swift-ci smoke test macOS

2 similar comments
@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 9, 2025

swiftlang/swift-package-manager#8899

@swift-ci smoke test macOS

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 9, 2025

swiftlang/swift-package-manager#8899

@swift-ci smoke test macOS

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 10, 2025

swiftlang/swift-package-manager#8899

@swift-ci smoke test macOS

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 10, 2025

The SwiftPM PR was rebased. so re-run all the pipelines.

swiftlang/swift-package-manager#8899

@swift-ci smoke test

@bkhouri
Copy link
Contributor Author

bkhouri commented Jul 15, 2025

he SwiftPM PR was updated. so re-run all the pipelines.

swiftlang/swift-package-manager#8899

@swift-ci smoke test

@bkhouri bkhouri marked this pull request as draft July 15, 2025 01:40
@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 1, 2025

The SwiftPM PR was updated, so run all pipelines

swiftlang/swift-package-manager#8899

@swift-ci smoke test

1 similar comment
@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 5, 2025

The SwiftPM PR was updated, so run all pipelines

swiftlang/swift-package-manager#8899

@swift-ci smoke test

@bkhouri bkhouri self-assigned this Aug 6, 2025
@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 6, 2025

swiftlang/swift-package-manager#8899

@swift-ci smoke test windows

bkhouri added a commit to swiftlang/swift-package-manager that referenced this pull request Aug 6, 2025
Update test expectation for executing SwiftPM tests in the Windows
Platform Test PR build - the script found in
https://github.com/swiftlang/swift/blob/main/utils/build.ps1.

Relates to: swiftlang/swift#82274
Relates to: #8895

Depends on: #8975
@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

Dependent PR has been merged. so let's run the testing again

@swift-ci test

@bkhouri bkhouri marked this pull request as ready for review August 7, 2025 02:20
@dschaefer2
Copy link
Member

This is adding an hour to the Windows CI job (it's now 6 hours). When you rerun to address the Linux and macOS failures, can we rerun the Windows too to double check?

@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

This is adding an hour to the Windows CI job (it's now 6 hours). When you rerun to address the Linux and macOS failures, can we rerun the Windows too to double check?

The two build failures are not required and they haven't been run in a while. With that said, my plan was to retriever the required build before merging to ensure the builds still pass.

@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

@swift-ci test

@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

@swift-ci smoke test

bkhouri and others added 2 commits August 7, 2025 10:15
Reverts #82265, which re-applies #80405

Enable the SwiftPM tests in the Windows toolchain build to get extra
confidence the change did not introduce any regression on the Windows
platform.

Fixes: swiftlang/swift-package-manager#8895
@bkhouri bkhouri force-pushed the revert-82265-revert-80405-t/main/update_swiftpm_presets branch from 0bb3d3d to 3ac47b8 Compare August 7, 2025 14:15
@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

@swift-ci smoke test

@bkhouri
Copy link
Contributor Author

bkhouri commented Aug 7, 2025

@compnerd, @shahmishal : could you please review this? This change seems to add 1 hours to the Windows platform build.

@compnerd
Copy link
Member

compnerd commented Aug 7, 2025

This is adding ~45m to the build:

Build-Compilers           Windows  x86_64  00:53:36.11  13.2% 
Test-Foundation           Windows  x86_64  00:53:29.96  13.2% 
Test-PackageManager       Windows  x86_64  00:42:35.09  10.5% 

This puts it in third place, which is pretty big. I think that @ahoppen had a new trick up his sleeve (using Xcode multi-space workspaces) to reduce the Test-Foundation time. I would like to see how this compares once that is done. I know that with the test only build (that Foundation does) SPM is possible to test in ~5-7m vs 45, which is still a huge delta.

@shahmishal
Copy link
Member

The foundation regression most likely is coming from #83572

@shahmishal
Copy link
Member

Before merging this PR, I would like to understand which tests are taking the longest.

@dschaefer2
Copy link
Member

Before merging this PR, I would like to understand which tests are taking the longest.

Agreed. I am wondering if it's the integration tests which call "swift build". Those probably could be done in a nightly regression run instead of on every toolchain build. Just a possibility.

We're also looking forward to completing the SwiftBuild build system transition which I believe will give us build performance that is as good or better than CMake/Ninja. At least that's a goal which would allow us to unify the builds of at least the Swift packages in the toolchain. I'd rather not throw in short term changes that would just make maintenance of the builds even harder.

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.

Enable the SwiftPM test suite on Windows
4 participants