Skip to content

Commit 073bbfc

Browse files
committed
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.
1 parent 7816ea2 commit 073bbfc

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-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: 37 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,11 @@ 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
33223331
- uses: actions/[email protected]
33233332
with:
33243333
repository: swiftlang/swift-build
@@ -3642,6 +3651,30 @@ jobs:
36423651
- name: Build swift-certificates
36433652
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-certificates
36443653

3654+
- name: Configure swift-tools-protocols
3655+
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
3656+
with:
3657+
project-name: swift-tools-protocols
3658+
swift-version: ${{ inputs.swift_version }}
3659+
enable-caching: true
3660+
debug-info: ${{ inputs.debug_info }}
3661+
build-os: ${{ inputs.build_os }}
3662+
build-arch: ${{ inputs.build_arch }}
3663+
os: ${{ matrix.os }}
3664+
arch: ${{ matrix.arch }}
3665+
src-dir: ${{ github.workspace }}/SourceCache/swift-tools-protocols
3666+
bin-dir: ${{ github.workspace }}/BinaryCache/swift-tools-protocols
3667+
install-dir: ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr
3668+
swift-sdk-path: ${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}.sdk
3669+
built-compilers: '@("C", "CXX", "Swift")'
3670+
cmake-defines: |
3671+
@{
3672+
'BUILD_SHARED_LIBS' = "YES";
3673+
'CMAKE_STATIC_LIBRARY_PREFIX_Swift' = "lib";
3674+
}
3675+
- name: Build swift-tools-protocols
3676+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-protocols
3677+
36453678
- name: Configure swift-build
36463679
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
36473680
with:
@@ -3670,6 +3703,7 @@ jobs:
36703703
'SQLite3_INCLUDE_DIR' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/include";
36713704
'SQLite3_LIBRARY' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/lib/SQLite3.lib";
36723705
'CMAKE_Swift_FLAGS' = "${{ matrix.arch == 'arm64' && '-use-ld=lld-link' || '' }}";
3706+
'SwiftToolsProtocols_DIR' = "${{ github.workspace }}/BinaryCache/swift-tools-protocols/cmake/modules";
36733707
}
36743708
- name: Build swift-build
36753709
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build
@@ -3714,6 +3748,7 @@ jobs:
37143748
'SwiftSyntax_DIR' = "${{ github.workspace }}/BinaryCache/swift-syntax/cmake/modules"
37153749
'SQLite3_INCLUDE_DIR' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/include";
37163750
'SQLite3_LIBRARY' = "${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/lib/SQLite3.lib";
3751+
'SwiftToolsProtocols_DIR' = "${{ github.workspace }}/BinaryCache/swift-tools-protocols/cmake/modules";
37173752
}
37183753
- name: Build swift-package-manager
37193754
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-package-manager
@@ -3873,6 +3908,8 @@ jobs:
38733908
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-support-core --target install
38743909
- name: Install swift-driver
38753910
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-driver --target install
3911+
- name: Install swift-tools-protocols
3912+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-protocols --target install
38763913
- name: Install swift-build
38773914
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build --target install
38783915
- name: Install swift-subprocess

0 commit comments

Comments
 (0)