Skip to content

Commit 141ed25

Browse files
committed
GHA: wire up build of swift-docc
This is now a required component of the installer image and built with CMake. This completes the toolchain coverage.
1 parent 55b2089 commit 141ed25

File tree

2 files changed

+105
-0
lines changed

2 files changed

+105
-0
lines changed

.github/workflows/build-toolchain.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ jobs:
193193
swift_corelibs_libdispatch_revision: ${{ steps.context.outputs.swift_corelibs_libdispatch_revision }}
194194
swift_corelibs_xctest_revision: ${{ steps.context.outputs.swift_corelibs_xctest_revision }}
195195
swift_crypto_revision: ${{ steps.context.outputs.swift_crypto_revision }}
196+
swift_docc_render_artifact_revision: ${{ steps.context.outputs.swift_docc_render_artifact_revision }}
197+
swift_docc_revision: ${{ steps.context.outputs.swift_docc_revision }}
198+
swift_docc_symbolkit_revision: ${{ steps.context.outputs.swift_docc_symbolkit_revision }}
196199
swift_driver_revision: ${{ steps.context.outputs.swift_driver_revision }}
197200
swift_experimental_string_processing_revision: ${{ steps.context.outputs.swift_experimental_string_processing_revision }}
198201
swift_format_revision: ${{ steps.context.outputs.swift_format_revision }}
@@ -608,6 +611,9 @@ jobs:
608611
swift_corelibs_libdispatch_revision: ${{ needs.context.outputs.swift_corelibs_libdispatch_revision }}
609612
swift_corelibs_xctest_revision: ${{ needs.context.outputs.swift_corelibs_xctest_revision }}
610613
swift_crypto_revision: ${{ needs.context.outputs.swift_crypto_revision }}
614+
swift_docc_render_artifact_revision: ${{ needs.context.outputs.swift_docc_render_artifact_revision }}
615+
swift_docc_revision: ${{ needs.context.outputs.swift_docc_revision }}
616+
swift_docc_symbolkit_revision: ${{ needs.context.outputs.swift_docc_symbolkit_revision }}
611617
swift_driver_revision: ${{ needs.context.outputs.swift_driver_revision }}
612618
swift_experimental_string_processing_revision: ${{ needs.context.outputs.swift_experimental_string_processing_revision }}
613619
swift_format_revision: ${{ needs.context.outputs.swift_format_revision }}
@@ -695,6 +701,9 @@ jobs:
695701
swift_corelibs_libdispatch_revision: ${{ needs.context.outputs.swift_corelibs_libdispatch_revision }}
696702
swift_corelibs_xctest_revision: ${{ needs.context.outputs.swift_corelibs_xctest_revision }}
697703
swift_crypto_revision: ${{ needs.context.outputs.swift_crypto_revision }}
704+
swift_docc_render_artifact_revision: ${{ needs.context.outputs.swift_docc_render_artifact_revision }}
705+
swift_docc_revision: ${{ needs.context.outputs.swift_docc_revision }}
706+
swift_docc_symbolkit_revision: ${{ needs.context.outputs.swift_docc_symbolkit_revision }}
698707
swift_driver_revision: ${{ needs.context.outputs.swift_driver_revision }}
699708
swift_experimental_string_processing_revision: ${{ needs.context.outputs.swift_experimental_string_processing_revision }}
700709
swift_format_revision: ${{ needs.context.outputs.swift_format_revision }}

.github/workflows/swift-toolchain.yml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,18 @@ on:
111111
required: true
112112
type: string
113113

114+
swift_docc_render_artifact_revision:
115+
required: true
116+
type: string
117+
118+
swift_docc_revision:
119+
required: true
120+
type: string
121+
122+
swift_docc_symbolkit_revision:
123+
required: true
124+
type: string
125+
114126
swift_driver_revision:
115127
required: true
116128
type: string
@@ -3293,6 +3305,24 @@ jobs:
32933305
ref: ${{ inputs.swift_crypto_revision }}
32943306
path: ${{ github.workspace }}/SourceCache/swift-crypto
32953307
show-progress: false
3308+
- uses: actions/checkout@v4.2.2
3309+
with:
3310+
repository: swiftlang/swift-docc-render-artifact
3311+
ref: ${{ inputs.swift_docc_render_artifact_revision }}
3312+
path: ${{ github.workspace }}/SourceCache/swift-docc-render-artifact
3313+
show-progress: false
3314+
- uses: actions/checkout@v4.2.2
3315+
with:
3316+
repository: swiftlang/swift-docc
3317+
ref: ${{ inputs.swift_docc_revision }}
3318+
path: ${{ github.workspace }}/SourceCache/swift-docc
3319+
show-progress: false
3320+
- uses: actions/checkout@v4.2.2
3321+
with:
3322+
repository: swiftlang/swift-docc-symbolkit
3323+
ref: ${{ inputs.swift_docc_symbolkit_revision }}
3324+
path: ${{ github.workspace }}/SourceCache/swift-docc-symbolkit
3325+
show-progress: false
32963326
- uses: actions/checkout@v4.2.2
32973327
with:
32983328
repository: swiftlang/swift-driver
@@ -3897,6 +3927,62 @@ jobs:
38973927
- name: Build sourcekit-lsp
38983928
run: cmake --build ${{ github.workspace }}/BinaryCache/sourcekit-lsp
38993929

3930+
- name: Configure swift-docc-symbolkit
3931+
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
3932+
with:
3933+
project-name: swift-docc-symbolkit
3934+
swift-version: ${{ inputs.swift_version }}
3935+
enable-caching: true
3936+
debug-info: ${{ inputs.debug_info }}
3937+
build-os: ${{ inputs.build_os }}
3938+
build-arch: ${{ inputs.build_arch }}
3939+
os: ${{ matrix.os }}
3940+
arch: ${{ matrix.arch }}
3941+
src-dir: ${{ github.workspace }}/SourceCache/swift-docc-symbolkit
3942+
bin-dir: ${{ github.workspace }}/BinaryCache/swift-docc-symbolkit
3943+
install-dir: ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/${{ input.swift_version }}+Asserts/usr
3944+
swift-sdk-path: ${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}.sdk
3945+
built-compilers: '@("C", "Swift")'
3946+
cmake-defines: |
3947+
@{
3948+
'BUILD_SHARED_LIBS' = "NO";
3949+
'CMAKE_STATIC_LIBRARY_PREFIX_Swift' = "lib";
3950+
}
3951+
- name: Build swift-docc-symbolkit
3952+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-docc-symbolkit
3953+
3954+
- name: Configure swift-docc
3955+
uses: ./SourceCache/ci-build/.github/actions/configure-cmake-project
3956+
with:
3957+
project-name: swift-docc
3958+
swift-version: ${{ inputs.swift_version }}
3959+
enable-caching: true
3960+
debug-info: ${{ inputs.debug_info }}
3961+
build-os: ${{ inputs.build_os }}
3962+
build-arch: ${{ inputs.build_arch }}
3963+
os: ${{ matrix.os }}
3964+
arch: ${{ matrix.arch }}
3965+
src-dir: ${{ github.workspace }}/SourceCache/swift-docc
3966+
bin-dir: ${{ github.workspace }}/BinaryCache/swift-docc
3967+
install-dir: ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/${{ input.swift_version }}+Asserts/usr
3968+
swift-sdk-path: ${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}.sdk
3969+
built-compilers: '@("C", "Swift")'
3970+
cmake-defines: |
3971+
@{
3972+
'BUILD_SHARED_LIBS' = "YES";
3973+
'CMAKE_STATIC_LIBRARY_PREFIX_Swift' = "lib";
3974+
'ArgumentParser_DIR' = "${{ github.workspace }}/BinaryCache/swift-argument-parser/cmake/modules";
3975+
'SwiftASN1_DIR' = "${{ github.workspace }}/BinaryCache/swift-asn1/cmake/modules";
3976+
'SwiftCrypto_DIR' = "${{ github.workspace }}/BinaryCache/swift-crypto/cmake/modules";
3977+
'SwiftMarkdown_DIR' = "${{ github.workspace }}/BinaryCache/swift-markdown/cmake/modules";
3978+
'LMDB_DIR' = "${{ github.workspace }}/BinaryCache/swift-lmdb/cmake/modules";
3979+
'IndexStoreDB_DIR' = "${{ github.workspace }}/BinaryCache/indexstore-db/cmake/modules";
3980+
'SymbolKit_DIR' = "${{ github.workspace }}/BinaryCache/swift-docc-symbolkit/cmake/modules";
3981+
'cmark-gfm_DIR' = "${{ github.workspace }}/BinaryCache/Library/cmark-gfm-${{ inputs.swift_cmark_version }}/usr/lib/cmake";
3982+
}
3983+
- name: Build swift-docc
3984+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-docc
3985+
39003986
- name: Install swift-argument-parser
39013987
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-argument-parser --target install
39023988
- name: Install swift-collections
@@ -3921,6 +4007,8 @@ jobs:
39214007
run: cmake --build ${{ github.workspace }}/BinaryCache/sourcekit-lsp --target install
39224008
- name: Install swift-format
39234009
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-format --target install
4010+
- name: Install swift-docc
4011+
run: cmake --build ${{ github.workspace }}/BinaryCache/swift-docc --target install
39244012

39254013
- uses: actions/upload-artifact@v4
39264014
with:
@@ -5412,6 +5500,13 @@ jobs:
54125500
with:
54135501
path: ${{ github.workspace }}/SourceCache/ci-build
54145502
show-progress: false
5503+
- uses: actions/checkout@v4.2.2
5504+
with:
5505+
repository: swiftlang/swift-docc-render-artifact
5506+
ref: ${{ inputs.swift_docc_render_artifact_revision }}
5507+
path: ${{ github.workspace }}/SourceCache/swift-docc-render-artifact
5508+
show-progress: false
5509+
54155510
- uses: ./SourceCache/ci-build/.github/actions/setup-build
54165511
with:
54175512
setup-vs-dev-env: true
@@ -5617,6 +5712,7 @@ jobs:
56175712
-p:SignOutput=${{ inputs.signed }} `
56185713
-p:CERTIFICATE=${env:CERTIFICATE} `
56195714
-p:PASSPHRASE=${{ secrets.PASSPHRASE }} `
5715+
-p:SWIFT_DOCC_RENDER_ARTIFACT_ROOT = "${{ github.workspace }}\SourceCache\swift-docc-render-artifact" `
56205716
-p:SignToolPath=${env:SIGNTOOL_PATH} `
56215717
-p:AzureSignMetadata=${env:TRUSTED_SIGNING_METADATA_PATH} `
56225718
-p:AzureSignDlib=${env:TRUSTED_SIGNING_DLL_PATH} `

0 commit comments

Comments
 (0)