Skip to content

Commit 09a758d

Browse files
compnerdCopilot
andauthored
GHA: wire up swift-tools-protocols (#1049)
* GHA: wire up swift-tools-protocols This new dependency abstracts out the tooling protocol (i.e. BSP, LSP, etc). Add the build before we must scramble. * Update .github/workflows/swift-toolchain.yml Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Copilot <[email protected]>
1 parent dd2f1c6 commit 09a758d

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

.github/workflows/build-toolchain.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ jobs:
210210
swift_testing_revision: ${{ steps.context.outputs.swift_testing_revision }}
211211
swift_toolchain_sqlite_revision: ${{ steps.context.outputs.swift_toolchain_sqlite_revision }}
212212
swift_toolchain_sqlite_version: ${{ steps.context.outputs.swift_toolchain_sqlite_version }}
213+
swift_tools_protocols_revision: ${{ steps.context.outputs.swift_tools_protocols_revision }}
213214
swift_tools_support_core_revision: ${{ steps.context.outputs.swift_tools_support_core_revision }}
214215
zlib_revision: ${{ steps.context.outputs.zlib_revision }}
215216
zlib_version: ${{ steps.context.outputs.zlib_version }}
@@ -292,6 +293,7 @@ jobs:
292293
swift_system_revision=refs/tags/1.3.0
293294
swift_testing_revision=refs/heads/main
294295
swift_toolchain_sqlite_revision=refs/tags/1.0.1
296+
swift_tools_protocols_revision=refs/tags/0.0.2
295297
swift_tools_support_core_revision=refs/tags/${{ inputs.swift_tag }}
296298
curl_revision=refs/tags/curl-8_9_1
297299
ds2_revision=refs/tags/nightly-2024-11-07
@@ -623,6 +625,7 @@ jobs:
623625
swift_testing_revision: ${{ needs.context.outputs.swift_testing_revision }}
624626
swift_toolchain_sqlite_revision: ${{ needs.context.outputs.swift_toolchain_sqlite_revision }}
625627
swift_toolchain_sqlite_version: ${{ needs.context.outputs.swift_toolchain_sqlite_version }}
628+
swift_tools_protocols_revision: ${{ needs.context.outputs.swift_tools_protocols_revision }}
626629
swift_tools_support_core_revision: ${{ needs.context.outputs.swift_tools_support_core_revision }}
627630
zlib_revision: ${{ needs.context.outputs.zlib_revision }}
628631
zlib_version: ${{ needs.context.outputs.zlib_version }}
@@ -709,6 +712,7 @@ jobs:
709712
swift_testing_revision: ${{ needs.context.outputs.swift_testing_revision }}
710713
swift_toolchain_sqlite_revision: ${{ needs.context.outputs.swift_toolchain_sqlite_revision }}
711714
swift_toolchain_sqlite_version: ${{ needs.context.outputs.swift_toolchain_sqlite_version }}
715+
swift_tools_protocols_revision: ${{ needs.context.outputs.swift_tools_protocols_revision }}
712716
swift_tools_support_core_revision: ${{ needs.context.outputs.swift_tools_support_core_revision }}
713717
zlib_revision: ${{ needs.context.outputs.zlib_revision }}
714718
zlib_version: ${{ needs.context.outputs.zlib_version }}

.github/workflows/swift-toolchain.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,10 @@ on:
179179
required: true
180180
type: string
181181

182+
swift_tools_protocols_revision:
183+
required: true
184+
type: string
185+
182186
swift_tools_support_core_revision:
183187
required: true
184188
type: string
@@ -3319,6 +3323,12 @@ jobs:
33193323
ref: ${{ inputs.swift_markdown_revision }}
33203324
path: ${{ github.workspace }}/SourceCache/swift-markdown
33213325
show-progress: false
3326+
- uses: actions/[email protected]
3327+
with:
3328+
repository: swiftlang/swift-tools-protocols
3329+
ref: ${{ inputs.swift_tools_protocols_revision }}
3330+
path: ${{ github.workspace }}/SourceCache/swift-tools-protocols
3331+
show-progress: false
33223332
- uses: actions/[email protected]
33233333
with:
33243334
repository: swiftlang/swift-build
@@ -3642,6 +3652,30 @@ jobs:
36423652
- name: Build swift-certificates
36433653
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-certificates
36443654

3655+
- name: Configure swift-tools-protocols
3656+
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
3657+
with:
3658+
project-name: swift-tools-protocols
3659+
swift-version: ${{ inputs.swift_version }}
3660+
enable-caching: true
3661+
debug-info: ${{ inputs.debug_info }}
3662+
build-os: ${{ inputs.build_os }}
3663+
build-arch: ${{ inputs.build_arch }}
3664+
os: ${{ matrix.os }}
3665+
arch: ${{ matrix.arch }}
3666+
src-dir: ${{ github.workspace }}/SourceCache/swift-tools-protocols
3667+
bin-dir: ${{ github.workspace }}/BinaryCache/swift-tools-protocols
3668+
install-dir: ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr
3669+
swift-sdk-path: ${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}.sdk
3670+
built-compilers: '@("C", "CXX", "Swift")'
3671+
cmake-defines: |
3672+
@{
3673+
'BUILD_SHARED_LIBS' = "YES";
3674+
'CMAKE_STATIC_LIBRARY_PREFIX_Swift' = "lib";
3675+
}
3676+
- name: Build swift-tools-protocols
3677+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-protocols
3678+
36453679
- name: Configure swift-build
36463680
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
36473681
with:
@@ -3670,6 +3704,7 @@ jobs:
36703704
'SQLite3_INCLUDE_DIR' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/include";
36713705
'SQLite3_LIBRARY' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/lib/SQLite3.lib";
36723706
'CMAKE_Swift_FLAGS' = "${{ matrix.arch == 'arm64' && '-use-ld=lld-link' || '' }}";
3707+
'SwiftToolsProtocols_DIR' = "${{ github.workspace }}/BinaryCache/swift-tools-protocols/cmake/modules";
36733708
}
36743709
- name: Build swift-build
36753710
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build
@@ -3714,6 +3749,7 @@ jobs:
37143749
'SwiftSyntax_DIR' = "${{ github.workspace }}/BinaryCache/swift-syntax/cmake/modules"
37153750
'SQLite3_INCLUDE_DIR' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/include";
37163751
'SQLite3_LIBRARY' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/lib/SQLite3.lib";
3752+
'SwiftToolsProtocols_DIR' = "${{ github.workspace }}/BinaryCache/swift-tools-protocols/cmake/modules";
37173753
}
37183754
- name: Build swift-package-manager
37193755
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-package-manager
@@ -3873,6 +3909,8 @@ jobs:
38733909
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-support-core --target install
38743910
- name: Install swift-driver
38753911
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-driver --target install
3912+
- name: Install swift-tools-protocols
3913+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-protocols --target install
38763914
- name: Install swift-build
38773915
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build --target install
38783916
- name: Install swift-subprocess

0 commit comments

Comments
 (0)