Skip to content

Commit ea529b1

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 f563e88 commit ea529b1

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
@@ -3898,6 +3928,62 @@ jobs:
38983928
- name: Build sourcekit-lsp
38993929
run: cmake --build ${{ github.workspace }}/BinaryCache/sourcekit-lsp
39003930

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

39264014
- uses: actions/upload-artifact@v4
39274015
with:
@@ -5413,6 +5501,13 @@ jobs:
54135501
with:
54145502
path: ${{ github.workspace }}/SourceCache/ci-build
54155503
show-progress: false
5504+
- uses: actions/checkout@v4.2.2
5505+
with:
5506+
repository: swiftlang/swift-docc-render-artifact
5507+
ref: ${{ inputs.swift_docc_render_artifact_revision }}
5508+
path: ${{ github.workspace }}/SourceCache/swift-docc-render-artifact
5509+
show-progress: false
5510+
54165511
- uses: ./SourceCache/ci-build/.github/actions/setup-build
54175512
with:
54185513
setup-vs-dev-env: true
@@ -5618,6 +5713,7 @@ jobs:
56185713
-p:SignOutput=${{ inputs.signed }} `
56195714
-p:CERTIFICATE=${env:CERTIFICATE} `
56205715
-p:PASSPHRASE=${{ secrets.PASSPHRASE }} `
5716+
-p:SWIFT_DOCC_RENDER_ARTIFACT_ROOT = "${{ github.workspace }}\SourceCache\swift-docc-render-artifact" `
56215717
-p:SignToolPath=${env:SIGNTOOL_PATH} `
56225718
-p:AzureSignMetadata=${env:TRUSTED_SIGNING_METADATA_PATH} `
56235719
-p:AzureSignDlib=${env:TRUSTED_SIGNING_DLL_PATH} `

0 commit comments

Comments
 (0)