Commit Graph

723 Commits

Author SHA1 Message Date
Leonard Grey
c7d25318c6 build.ps1: fix toolchain name trimming for arm64 2025-11-12 16:27:48 -05:00
Ben Barham
3eb1beaecf Merge pull request #83993 from bnbarham/switch-foundation-configuration
Switch Windows foundation tests back to debug for PR testing
2025-11-12 10:04:25 +10:00
Charles Zablit
132bff7090 [windows] add SHA256 hash to ARM64 pinned toolchain 2025-11-11 16:28:09 +01:00
Saleem Abdulrasool
4214842317 Merge pull request #76574 from compnerd/early-driver-win
utils: enable early swift driver on Windows
2025-11-10 09:56:35 -08:00
Saleem Abdulrasool
909748e148 utils: enable the early swift-driver for Windows
Enable the use of the early swift-driver to build the Swift toolchain.
This is the first step towards removing the accumulated debt and
workarounds when building the toolchain on Windows.
2025-11-05 15:53:11 -08:00
Saleem Abdulrasool
acd34951de utils: build early swift-driver on Windows
This prepares the swift-driver building on Windows. By statically
linking the runtime and its dependencies, this will allow us to avoid
the runtime shuffling that is required to get the runtime required to
get the swift-driver working.
2025-11-05 15:53:10 -08:00
Saleem Abdulrasool
bfcc5b6564 utils: update toolchain snapshot to permit use of the experimental SDK
Use the experimental SDK to build the toolchain and consume the
redistributable. This is going to ensure that we build the entire
toolchain against a stable point and run against the runtime that we
build against.
2025-11-05 15:53:05 -08:00
Charles Zablit
4de7e8ce6e Merge pull request #85075 from charles-zablit/charles-zablit/windows/lldb-only-run-swift-test-subset
[windows] only test the Swift subset of LLDB tests in CI
2025-11-05 17:24:30 +00:00
Mishal Shah
a8c6c9628e Merge pull request #85078 from owenv/owenv/tools-protocols-windows
build.ps1: add swift-tools-protocols
2025-11-05 09:01:41 -08:00
Hiroshi Yamauchi
2d891117c4 Merge pull request #84970 from hjyamauchi/buildps1cas
Add CAS support
2025-11-04 13:16:25 -08:00
Hiroshi Yamauchi
377057db87 Add CAS support 2025-11-03 11:14:17 -08:00
Owen Voorhees
c12d5a7b8c build.ps1: add swift-tools-protocols 2025-10-31 11:01:12 -07:00
Charles Zablit
3df36f423b [windows] only test the Swift subset of LLDB tests in CI 2025-10-28 16:40:38 -07:00
Saleem Abdulrasool
60440be488 build: setup a CMake based build for DocC
In local testing, this helps reduce the overall build times 7-8%. Stage
the build conversion to allow us to measure the time savings on CI
hosts.
2025-10-27 18:25:13 -07:00
Saleem Abdulrasool
f44a84598e build.ps1: repair Get-Dependencies and silence output further
This cleans up the output spew during the dependency fetching phase to
simply list that the dependencies have successfully been acquired.
Additionally, restore the accidentally removed variable that is
currently breaking the ARM64 builds.
2025-10-23 10:07:59 -07:00
Saleem Abdulrasool
c676c29442 Merge pull request #84966 from compnerd/test-dependencie
utils: shuffle install order for toolchain dependencies
2025-10-22 22:12:03 -07:00
Evan Wilde
33f30f031a Merge pull request #85007 from etcwilde/ewilde/windows-pass-target-triple
Windows: Pass full target triple to build
2025-10-22 11:36:35 -07:00
Saleem Abdulrasool
a5010b29f5 utils: shuffle install order for toolchain dependencies
Install the testing dependencies first. This is primarily the python
dependencies. Doing this allows us to use the following arguments:
`-SkipBuild -SkipPackaging -Test lldb` to test LLDB without having to
rebuild the toolchain. This is helpful when trying to debug/diagnose
testing issues within LLDB without changing the implementation of LLDB.
2025-10-22 10:26:15 -07:00
Evan Wilde
e64ed3769a Windows: Volatile: Remove explicit triple
`CMAKE_Swift_COMPILER_TARGET` is set up by `Build-CMakeProject`. We
shouldn't need to pass it into the volatile build explicitly.
2025-10-20 10:08:03 -07:00
Evan Wilde
a2945091dc Windows: Pass full triple to Swift
`CMAKE_Swift_COMPILER_TARGET` takes the full target triple, not the
module triple. This probably doesn't affect Windows, but will/does
affect availability on Android resulting in Foundation failing to build
due to `error: 'getgrnam_r' is only available in Android 24 or newer`.
2025-10-20 09:34:56 -07:00
Saleem Abdulrasool
45605ee7e6 utils: clean up the output for the dependencies
This cleans up the output when fetching the dependencies. It isn't
perfect for interactive use, but makes it easier to read what happened.
2025-10-17 17:14:44 -07:00
Saleem Abdulrasool
6550de3855 utils: silence random True in the output
This cleans up the `Get-Dependencies` output to avoid the extraneous
`True` that is printed.
2025-10-17 14:00:52 -07:00
Saleem Abdulrasool
0d2f86a987 utils: bring android staging in line with Windows
Add staging support for brotli on Android and use the more compact
commands mirroring Windows.
2025-10-16 15:13:34 -07:00
Saleem Abdulrasool
3a80993f1d build.ps1: repair the Android SDK build
When building Android, we would fail to find the brotli build.
Explicitly pass the library paths and include paths to workaround the
issue. This is not ideal, but will unblock the build. Avoid the
installation of the library as it is not required, which avoids updating
the mtime on a null-build.
2025-10-15 22:04:57 -07:00
Saleem Abdulrasool
9e8ba0ce52 build.ps1: build brotli for Android
This is currently preventing the Windows nightlies from passing. Ensure
that we build the brotli library for Android as well.
2025-10-15 17:46:43 -07:00
Saleem Abdulrasool
efc317067d build.ps1: change default for -Windows to $False
This disables the Windows SDK by default. Windows SDKs can still be
built by passing `-Windows` to `build.ps1`. This is already present in
the invocation used by CI.
2025-10-14 13:27:09 -07:00
Zhenchao Li
ed6ef79b51 Add brotli support to FoundationNetworking (#83441)
<!--
If this pull request is targeting a release branch, please fill out the
following form:

https://github.com/swiftlang/.github/blob/main/PULL_REQUEST_TEMPLATE/release.md?plain=1

Otherwise, replace this comment with a description of your changes and
rationale. Provide links to external references/discussions if
appropriate.
If this pull request resolves any GitHub issues, link them like so:

  Resolves <link to issue>, resolves <link to another issue>.

For more information about linking a pull request to an issue, see:

https://docs.github.com/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue
-->

<!--
Before merging this pull request, you must run the Swift continuous
integration tests.
For information about triggering CI builds via @swift-ci, see:

https://github.com/apple/swift/blob/main/docs/ContinuousIntegration.md#swift-ci

Thank you for your contribution to Swift!
-->

Add brotli as a dependency to enable brotli decoding for curl.

brotli is a general purpose compression algorithm used extensively on
web. (https://datatracker.ietf.org/doc/html/rfc7932)

brotli support for curl is enabled by integrating the brotli compression
library (https://github.com/google/brotli). I've also added some tests
for FoundationNetworking in
https://github.com/swiftlang/swift-corelibs-foundation/pull/5251 which
exercises this feature by
- looking at the accept-encoding http header 
- decoding a brotli encoded payload
2025-10-10 15:52:40 -07:00
Charles Zablit
8ffe033d01 Merge pull request #84292 from charles-zablit/charles-zablit/windows/fix-sccache-installation-arm64
[windows] fix sccache installation on arm64
2025-10-10 09:56:57 +01:00
Saleem Abdulrasool
ffc3fb0575 Merge pull request #84473 from compnerd/spm-runtime
build.ps1: separate SPM runtime build
2025-10-08 07:57:27 -07:00
Charles Zablit
1312cb736f [windows] fix sccache installation on arm64 2025-10-06 17:50:16 +01:00
Mishal Shah
03a599c5be Merge pull request #84606 from swiftlang/rebranch
Merge clang 21.x rebranch into main
2025-10-02 20:17:05 -07:00
Saleem Abdulrasool
f8eff8ba3e build.ps1: allow building without the legacy SDK
Update the installer build to exclude the legacy SDK content from
packaging. This prepares us to remove the legacy SDK entirely from the
build.
2025-10-01 08:56:31 -07:00
Saleem Abdulrasool
63b93fcd63 build.ps1: separate SPM runtime build 2025-09-30 15:12:05 -07:00
Saleem Abdulrasool
20a76e82e4 build.ps1: enable Foundation tools on experimental SDK
When building the experimental SDK, build the foundation tools. This is
needed to ensure that we can package the runtime without the legacy SDK.
2025-09-30 15:10:29 -07:00
swift-ci
03cea1f23c Merge remote-tracking branch 'origin/main' into rebranch 2025-09-30 08:36:05 -07:00
swift-ci
6134c94207 Merge remote-tracking branch 'origin/main' into rebranch 2025-09-29 20:16:02 -07:00
Saleem Abdulrasool
470e6e47e6 build.ps1: validate internal parameter
This adds a validation for the parameter set to ensure that the values
are not typo'ed.
2025-09-29 20:05:05 -07:00
Saleem Abdulrasool
a5cc34f606 build.ps1: adjust search path for dispatch for Android
The current build relocates the headers to the proper location which was
not previously done. Adjust the search paths accordingly.
2025-09-29 11:59:19 -07:00
swift-ci
b15e24a424 Merge remote-tracking branch 'origin/main' into rebranch 2025-09-28 15:15:06 -07:00
Saleem Abdulrasool
3aae6339ee build.ps1: introduce link mode control for SDKs
Add support to control the link modes for the SDKs that are built. This
is a means to prevent full builds in CI. The functionality is meant for
CI control, not for use in normal usage.
2025-09-27 10:07:37 -07:00
swift-ci
551a5e459d Merge remote-tracking branch 'origin/main' into rebranch 2025-09-26 16:16:15 -07:00
Saleem Abdulrasool
0bb3c1a4cf build.ps1: avoid unnecessary double build of compiler runtimes
These are now built as part of the toolchain build to allow the removal
of the legacy SDK. While this is low cost as the build is cached, avoid
the unnecessary work.
2025-09-26 10:23:45 -07:00
swift-ci
c6f3c70e4f Merge remote-tracking branch 'origin/main' into rebranch 2025-09-26 08:15:29 -07:00
Saleem Abdulrasool
2bf3b1f12b Merge pull request #84524 from compnerd/sdk-split
build.ps1: explicitly indicate SDK via identifier
2025-09-26 08:06:58 -07:00
swift-ci
0a10a7259d Merge remote-tracking branch 'origin/main' into rebranch 2025-09-26 03:55:21 -07:00
Saleem Abdulrasool
aa1f0009a1 Merge pull request #84505 from compnerd/android
build.ps1: repair Android cross-compilation
2025-09-26 03:45:36 -07:00
Saleem Abdulrasool
0a10cb3dab build.ps1: explicitly indicate SDK via identifier
Change all invocations of `Get-SwiftSDK` to list SDK and OS. This is a
clean up that allows us to prepare to drop the legacy SDK while testing
(`-WindowsSDKVersionDefault WindowsExperimental -WindowsSDKVersions WindowsExperimental`).
2025-09-25 17:18:31 -07:00
swift-ci
6cf902227a Merge remote-tracking branch 'origin/main' into rebranch 2025-09-25 15:15:11 -07:00
Artem Chikin
9c9a84027a Merge pull request #84503 from swiftlang/revert-84306-fabrice/cmake-version-support
Revert "utils: Support multiple CMake versions in build.ps1"
2025-09-25 18:00:34 -04:00
swift-ci
71ecf2995f Merge remote-tracking branch 'origin/main' into rebranch 2025-09-25 14:56:31 -07:00