Skip to content

Commit ffe4867

Browse files
authored
static-sdk: Add Distributed and Observation builds (#994)
1 parent beedc56 commit ffe4867

File tree

1 file changed

+123
-1
lines changed

1 file changed

+123
-1
lines changed

.github/workflows/swift-toolchain.yml

Lines changed: 123 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2571,7 +2571,8 @@ jobs:
25712571
${{ matrix.extra_flags }} `
25722572
-G Ninja `
25732573
-S ${{ github.workspace }}/SourceCache/swift/Runtimes/Supplemental/Synchronization `
2574-
-D SwiftCore_DIR=${{ github.workspace }}/BinaryCache/ExperimentalRuntime/cmake/SwiftCore
2574+
-D SwiftCore_DIR=${{ github.workspace }}/BinaryCache/ExperimentalRuntime/cmake/SwiftCore `
2575+
-D SwiftOverlay_DIR=${{ github.workspace }}/BinaryCache/ExperimentalOverlay/cmake/SwiftOverlay
25752576
- name: Build Experimental Synchronization
25762577
if: matrix.os != 'Android' || inputs.build_android
25772578
run: |
@@ -2581,6 +2582,127 @@ jobs:
25812582
run: |
25822583
cmake --build ${{ github.workspace }}/BinaryCache/ExperimentalSynchronization --target install
25832584
2585+
- name: Configure Experimental Distributed
2586+
if: matrix.os != 'Android' || inputs.build_android
2587+
run: |
2588+
$CLANG = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang.exe"
2589+
$CLANGXX = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang++.exe"
2590+
$CLANG_CL = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang-cl.exe"
2591+
$SWIFTC = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/swiftc.exe"
2592+
$SwiftFlags = "${{ matrix.swiftflags }}"
2593+
2594+
if ("${{ matrix.os }}" -eq "Android") {
2595+
# Used by matrix definitions.
2596+
$NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }}
2597+
}
2598+
2599+
if ("${{ matrix.os }}" -eq "Windows") {
2600+
$WINDOWS_VFS_OVERLAY = cygpath -m "${{ github.workspace }}/BinaryCache/swift/stdlib/windows-vfs-overlay.yaml"
2601+
$SwiftResourceDir = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/Windows.platform/Developer/SDKs/Windows.sdk/usr/lib/swift"
2602+
$SwiftFlags += " -vfsoverlay ${WINDOWS_VFS_OVERLAY}"
2603+
$SwiftFlags += " -strict-implicit-module-context"
2604+
$SwiftFlags += " -Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules"
2605+
$SwiftFlags += " -resource-dir $SwiftResourceDir"
2606+
$SwiftFlags += " -L $SwiftResourceDir/windows"
2607+
} elseif ("${{ matrix.os }}" -eq "Android") {
2608+
$SwiftResourceDir = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/Android.platform/Developer/SDKs/Android.sdk/usr/lib/swift"
2609+
$SwiftFlags += " -sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot"
2610+
$SwiftFlags += " -resource-dir $SwiftResourceDir"
2611+
$SwiftFlags += " -L $SwiftResourceDir/android"
2612+
}
2613+
2614+
cmake -B ${{ github.workspace }}/BinaryCache/ExperimentalDistributed `
2615+
-D CMAKE_BUILD_TYPE=Release `
2616+
-D CMAKE_C_COMPILER=${{ matrix.gnu-cc }} `
2617+
-D CMAKE_C_COMPILER_LAUNCHER=sccache `
2618+
-D CMAKE_C_COMPILER_TARGET=${{ matrix.triple }} `
2619+
-D CMAKE_C_FLAGS="${{ matrix.gnu-cflags }}" `
2620+
-D CMAKE_CXX_COMPILER=${{ matrix.gnu-cxx }} `
2621+
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
2622+
-D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} `
2623+
-D CMAKE_CXX_FLAGS="${{ matrix.gnu-cxxflags }} -I${{ github.workspace }}/BinaryCache/ExperimentalRuntime/include" `
2624+
-D CMAKE_Swift_COMPILER=${SWIFTC} `
2625+
-D CMAKE_Swift_COMPILER_TARGET=${{ matrix.triple_no_api_level }} `
2626+
-D CMAKE_Swift_FLAGS="${SwiftFlags}" `
2627+
-D CMAKE_Swift_COMPILER_WORKS=YES `
2628+
-D CMAKE_Swift_COMPILER_USE_OLD_DRIVER=YES `
2629+
-D BUILD_SHARED_LIBS=NO `
2630+
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}Experimental.sdk/usr `
2631+
-D CMAKE_FIND_PACKAGE_PREFER_CONFIG=YES `
2632+
-D CMAKE_STATIC_LIBRARY_PREFIX_Swift="lib" `
2633+
${{ matrix.gnu-linker_flags }} `
2634+
${{ matrix.extra_flags }} `
2635+
-G Ninja `
2636+
-S ${{ github.workspace }}/SourceCache/swift/Runtimes/Supplemental/Distributed `
2637+
-D SwiftCore_DIR=${{ github.workspace }}/BinaryCache/ExperimentalRuntime/cmake/SwiftCore `
2638+
-D SwiftOverlay_DIR=${{ github.workspace }}/BinaryCache/ExperimentalOverlay/cmake/SwiftOverlay
2639+
- name: Build Experimental Distributed
2640+
if: matrix.os != 'Android' || inputs.build_android
2641+
run: |
2642+
cmake --build ${{ github.workspace }}/BinaryCache/ExperimentalDistributed
2643+
- name: Install Experimental Distributed
2644+
if: matrix.os != 'Android' || inputs.build_android
2645+
run: |
2646+
cmake --build ${{ github.workspace }}/BinaryCache/ExperimentalDistributed --target install
2647+
2648+
- name: Configure Experimental Observation
2649+
if: matrix.os != 'Android' || inputs.build_android
2650+
run: |
2651+
$CLANG = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang.exe"
2652+
$CLANGXX = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang++.exe"
2653+
$CLANG_CL = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang-cl.exe"
2654+
$SWIFTC = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/swiftc.exe"
2655+
$SwiftFlags = "${{ matrix.swiftflags }}"
2656+
2657+
if ("${{ matrix.os }}" -eq "Android") {
2658+
# Used by matrix definitions.
2659+
$NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }}
2660+
}
2661+
2662+
if ("${{ matrix.os }}" -eq "Windows") {
2663+
$WINDOWS_VFS_OVERLAY = cygpath -m "${{ github.workspace }}/BinaryCache/swift/stdlib/windows-vfs-overlay.yaml"
2664+
$SwiftResourceDir = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/Windows.platform/Developer/SDKs/Windows.sdk/usr/lib/swift"
2665+
$SwiftFlags += " -vfsoverlay ${WINDOWS_VFS_OVERLAY}"
2666+
$SwiftFlags += " -strict-implicit-module-context"
2667+
$SwiftFlags += " -Xcc -Xclang -Xcc -fbuiltin-headers-in-system-modules"
2668+
$SwiftFlags += " -resource-dir $SwiftResourceDir"
2669+
$SwiftFlags += " -L $SwiftResourceDir/windows"
2670+
} elseif ("${{ matrix.os }}" -eq "Android") {
2671+
$SwiftResourceDir = cygpath -m "${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/Android.platform/Developer/SDKs/Android.sdk/usr/lib/swift"
2672+
$SwiftFlags += " -sdk $NDKPATH/toolchains/llvm/prebuilt/windows-x86_64/sysroot"
2673+
$SwiftFlags += " -resource-dir $SwiftResourceDir"
2674+
$SwiftFlags += " -L $SwiftResourceDir/android"
2675+
}
2676+
2677+
cmake -B ${{ github.workspace }}/BinaryCache/ExperimentalObservation `
2678+
-D CMAKE_BUILD_TYPE=Release `
2679+
-D CMAKE_CXX_COMPILER=${{ matrix.gnu-cxx }} `
2680+
-D CMAKE_CXX_COMPILER_LAUNCHER=sccache `
2681+
-D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} `
2682+
-D CMAKE_CXX_FLAGS="${{ matrix.gnu-cxxflags }} -I${{ github.workspace }}/BinaryCache/ExperimentalRuntime/include" `
2683+
-D CMAKE_Swift_COMPILER=${SWIFTC} `
2684+
-D CMAKE_Swift_COMPILER_TARGET=${{ matrix.triple_no_api_level }} `
2685+
-D CMAKE_Swift_FLAGS="${SwiftFlags}" `
2686+
-D CMAKE_Swift_COMPILER_WORKS=YES `
2687+
-D CMAKE_Swift_COMPILER_USE_OLD_DRIVER=YES `
2688+
-D BUILD_SHARED_LIBS=NO `
2689+
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/${{ matrix.os }}.platform/Developer/SDKs/${{ matrix.os }}Experimental.sdk/usr `
2690+
-D CMAKE_FIND_PACKAGE_PREFER_CONFIG=YES `
2691+
-D CMAKE_STATIC_LIBRARY_PREFIX_Swift="lib" `
2692+
${{ matrix.gnu-linker_flags }} `
2693+
${{ matrix.extra_flags }} `
2694+
-G Ninja `
2695+
-S ${{ github.workspace }}/SourceCache/swift/Runtimes/Supplemental/Observation `
2696+
-D SwiftCore_DIR=${{ github.workspace }}/BinaryCache/ExperimentalRuntime/cmake/SwiftCore `
2697+
- name: Build Experimental Observation
2698+
if: matrix.os != 'Android' || inputs.build_android
2699+
run: |
2700+
cmake --build ${{ github.workspace }}/BinaryCache/ExperimentalObservation
2701+
- name: Install Experimental Observation
2702+
if: matrix.os != 'Android' || inputs.build_android
2703+
run: |
2704+
cmake --build ${{ github.workspace }}/BinaryCache/ExperimentalObservation --target install
2705+
25842706
- name: Configure Experimental Dispatch
25852707
if: matrix.os != 'Android' || inputs.build_android
25862708
run: |

0 commit comments

Comments
 (0)