From e0b61863d945fb719b749bbc9324527976995d4d Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Wed, 30 Apr 2025 07:05:38 -0700 Subject: [PATCH] GHA: add swift-build to the build Prepare to build swift-build in the toolchain build as it is about to the packaged up into the installer. --- .github/workflows/swift-toolchain.yml | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/.github/workflows/swift-toolchain.yml b/.github/workflows/swift-toolchain.yml index 39d1035b..056bd956 100644 --- a/.github/workflows/swift-toolchain.yml +++ b/.github/workflows/swift-toolchain.yml @@ -2878,6 +2878,12 @@ jobs: ref: ${{ inputs.swift_markdown_revision }} path: ${{ github.workspace }}/SourceCache/swift-markdown show-progress: false + - uses: actions/checkout@v4.2.2 + with: + repository: swiftlang/swift-build + ref: ${{ inputs.swift_build_revision }} + path: ${{ github.workspace }}/SourceCache/swift-build + show-progress: false - uses: actions/checkout@v4.2.2 with: repository: swiftlang/swift-package-manager @@ -3239,6 +3245,42 @@ jobs: - name: Build swift-certificates run: cmake --build ${{ github.workspace }}/BinaryCache/swift-certificates + - name: Configure swift-build + run: | + # Workaround CMake 3.20 issue + $CLANG_CL = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/clang-cl.exe + $SWIFTC = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr/bin/swiftc.exe + + cmake -B ${{ github.workspace }}/BinaryCache/swift-build ` + -D BUILD_SHARED_LIBS=YES ` + -D BUILD_TESTING=NO ` + -D CMAKE_BUILD_TYPE=Release ` + -D CMAKE_C_COMPILER=${CLANG_CL} ` + -D CMAKE_C_COMPILER_TARGET=${{ matrix.triple }} ` + -D CMAKE_C_FLAGS="${{ inputs.WINDOWS_CMAKE_C_FLAGS }}" ` + -D CMAKE_CXX_COMPILER=${CLANG_CL} ` + -D CMAKE_CXX_COMPILER_TARGET=${{ matrix.triple }} ` + -D CMAKE_CXX_FLAGS="${{ inputs.WINDOWS_CMAKE_CXX_FLAGS }}" ` + -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/${{ inputs.swift_version }}+Asserts/usr ` + -D CMAKE_Swift_COMPILER=${SWIFTC} ` + -D CMAKE_Swift_COMPILER_TARGET=${{ matrix.triple }} ` + -D CMAKE_Swift_COMPILER_WORKS=YES ` + -D CMAKE_Swift_FLAGS="-sdk ${env:SDKROOT} ${{ inputs.CMAKE_Swift_FLAGS }}" ` + -D CMAKE_Swift_FLAGS_RELEASE="-O" ` + -D CMAKE_SYSTEM_NAME=Windows ` + -D CMAKE_SYSTEM_PROCESSOR=${{ matrix.cpu }} ` + -G Ninja ` + -S ${{ github.workspace }}/SourceCache/swift-build ` + -D ArgumentParser_DIR=${{ github.workspace }}/BinaryCache/swift-argument-parser/cmake/modules ` + -D LLBuild_DIR=${{ github.workspace }}/BinaryCache/swift-llbuild/cmake/modules ` + -D SwiftDriver_DIR=${{ github.workspace }}/BinaryCache/swift-driver/cmake/modules ` + -D SwiftSystem_DIR=${{ github.workspace }}/BinaryCache/swift-system/cmake/modules ` + -D TSC_DIR=${{ github.workspace }}/BinaryCache/swift-tools-support-core/cmake/modules ` + -D SQLite3_INCLUDE_DIR=${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/include ` + -D SQLite3_LIBRARY=${{ github.workspace }}/BinaryCache/Library/sqlite-${{ inputs.swift_toolchain_sqlite_version }}/usr/lib/SQLite3.lib + - name: Build swift-build + run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build + - name: extract swift-syntax run: | $module = "${{ github.workspace }}/BinaryCache/swift-syntax/cmake/modules/SwiftSyntaxConfig.cmake" @@ -3453,6 +3495,8 @@ jobs: run: cmake --build ${{ github.workspace }}/BinaryCache/swift-tools-support-core --target install - name: Install swift-driver run: cmake --build ${{ github.workspace }}/BinaryCache/swift-driver --target install + - name: Install swift-build + run: cmake --build ${{ github.workspace }}/BinaryCache/swift-build --target install - name: Install swift-package-manager run: cmake --build ${{ github.workspace }}/BinaryCache/swift-package-manager --target install - name: Install SourceKit-LSP