From 51039945316eecbde4a9d8953d9f9d6fa15e1767 Mon Sep 17 00:00:00 2001 From: Hiroshi Yamauchi Date: Tue, 10 Dec 2024 16:28:32 -0800 Subject: [PATCH] Temporary --- .github/workflows/build-toolchain.yml | 11 +++ ...schedule-swift-toolchain-windows-arm64.yml | 1 + .../workflows/schedule-swift-toolchain.yml | 2 + .github/workflows/swift-toolchain.yml | 98 ++++++++++++------- 4 files changed, 75 insertions(+), 37 deletions(-) diff --git a/.github/workflows/build-toolchain.yml b/.github/workflows/build-toolchain.yml index a266223f..dcbc7525 100644 --- a/.github/workflows/build-toolchain.yml +++ b/.github/workflows/build-toolchain.yml @@ -42,6 +42,11 @@ on: default: true required: false + build_android: + required: false + default: false + type: boolean + workflow_call: inputs: swift_version: @@ -108,6 +113,11 @@ on: required: false type: string + build_android: + required: false + default: false + type: boolean + secrets: SYMBOL_SERVER_PAT: required: true @@ -682,6 +692,7 @@ jobs: swift_tag: ${{ needs.context.outputs.swift_tag }} default_build_runner: ${{ needs.context.outputs[format('windows_{0}_build_runner', needs.context.outputs.windows_build_cpu)] }} compilers_build_runner: ${{ needs.context.outputs[format('windows_{0}_compilers_runner', needs.context.outputs.windows_build_cpu)] }} + build_android: ${{ inputs.build_android }} secrets: SYMBOL_SERVER_PAT: ${{ secrets.SYMBOL_SERVER_PAT }} CERTIFICATE: ${{ secrets.CERTIFICATE }} diff --git a/.github/workflows/schedule-swift-toolchain-windows-arm64.yml b/.github/workflows/schedule-swift-toolchain-windows-arm64.yml index 5cd8862c..b656b773 100644 --- a/.github/workflows/schedule-swift-toolchain-windows-arm64.yml +++ b/.github/workflows/schedule-swift-toolchain-windows-arm64.yml @@ -21,6 +21,7 @@ jobs: windows_arm64_default_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-16-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-8-cores' }} windows_arm64_compilers_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-64-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-32-cores' }} android_api_level: 28 + build_android: false secrets: inherit permissions: contents: write diff --git a/.github/workflows/schedule-swift-toolchain.yml b/.github/workflows/schedule-swift-toolchain.yml index 977e27c3..bf1ff230 100644 --- a/.github/workflows/schedule-swift-toolchain.yml +++ b/.github/workflows/schedule-swift-toolchain.yml @@ -19,6 +19,7 @@ jobs: windows_arm64_default_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-16-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-8-cores' }} windows_arm64_compilers_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-64-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-32-cores' }} android_api_level: 28 + build_android: true secrets: inherit permissions: contents: write @@ -38,6 +39,7 @@ jobs: windows_arm64_default_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-16-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-8-cores' }} windows_arm64_compilers_runner: ${{ vars.USE_CIRUN == 'true' && format('cirun-win11-23h2-pro-arm64-64-2024-10-10--{0}', github.run_id) || 'swift-build-windows-arm64-latest-32-cores' }} android_api_level: 28 + build_android: false secrets: inherit permissions: contents: write diff --git a/.github/workflows/swift-toolchain.yml b/.github/workflows/swift-toolchain.yml index 1c686619..9da43935 100644 --- a/.github/workflows/swift-toolchain.yml +++ b/.github/workflows/swift-toolchain.yml @@ -247,6 +247,11 @@ on: required: true type: string + build_android: + required: false + default: false + type: boolean + secrets: SYMBOL_SERVER_PAT: required: true @@ -271,7 +276,7 @@ env: # WORKAROUND_WINDOWS_PINNED_BOOTSTRAP_TOOLCHAIN_* above. These (x64 and arm64) need # to be updated when the ARM64 compiler is fixed and the pinned toolchain is updated. WORKAROUND_WINDOWS_ARM64_PINNED_BOOTSTRAP_TOOLCHAIN_REPO: thebrowsercompany/swift-build - WORKAROUND_WINDOWS_ARM64_PINNED_BOOTSTRAP_TOOLCHAIN_RELEASE: "20231016.0" + WORKAROUND_WINDOWS_ARM64_PINNED_BOOTSTRAP_TOOLCHAIN_RELEASE: "20231016.1" defaults: run: @@ -355,8 +360,8 @@ jobs: ds2_tools: # TODO: Build this on macOS or make an equivalent Mac-only job - # There is no Android NDK for Windows ARM64. So disable on Windows/ARM64. - if: inputs.build_os == 'Windows' && inputs.build_arch == 'amd64' + # There is currently no Android NDK for Windows ARM64 so build ds2 only on Windows X64 host only + if: inputs.build_android runs-on: ${{ inputs.default_build_runner }} name: ds2 Build Tools @@ -405,8 +410,8 @@ jobs: ds2: # TODO: Build this on macOS or make an equivalent Mac-only job - # There is no Android NDK for Windows ARM64. So disable on Windows/ARM64. - if: inputs.build_os == 'Windows' && inputs.build_arch == 'amd64' + # There is currently no Android NDK for Windows ARM64 so build ds2 only on Windows X64 host only + if: inputs.build_android needs: [ds2_tools] runs-on: ${{ inputs.default_build_runner }} @@ -770,6 +775,7 @@ jobs: - name: Install Swift Toolchain uses: compnerd/gha-setup-swift@b6c5fc1ed5b5439ada8e7661985acb09ad8c3ba2 # main with: + host_arch: ${{ inputs.build_arch }} branch: ${{ env.WORKAROUND_MACOS_PINNED_BOOTSTRAP_TOOLCHAIN_BRANCH }} tag: ${{ env.WORKAROUND_MACOS_PINNED_BOOTSTRAP_TOOLCHAIN_TAG }} @@ -1162,6 +1168,8 @@ jobs: if ( "${{ inputs.build_os }}" -eq "Windows" ) { $NDKPATH = cygpath -m $NDKPATH } + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" } cmake -B ${{ github.workspace }}/BinaryCache/zlib-${{ inputs.zlib_version }} ` @@ -1254,6 +1262,8 @@ jobs: if ( "${{ inputs.build_os }}" -eq "Windows" ) { $NDKPATH = cygpath -m $NDKPATH } + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" } cmake -B ${{ github.workspace }}/BinaryCache/curl-${{ inputs.curl_version }} ` @@ -1418,6 +1428,8 @@ jobs: if ( "${{ inputs.build_os }}" -eq "Windows" ) { $NDKPATH = cygpath -m $NDKPATH } + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" } cmake -B ${{ github.workspace }}/BinaryCache/libxml2-${{ inputs.libxml2_version }} ` @@ -1630,12 +1642,14 @@ jobs: ndk-version: ${{ inputs.ANDROID_NDK_VERSION }} - name: Configure LLVM - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # NOTE: used by `matrix.cc` $CLANG_CL = "cl" if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -1657,7 +1671,7 @@ jobs: -D LLVM_ENABLE_ASSERTIONS=YES - name: Configure Swift Standard Library - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # NOTE: used by `matrix.cc` $CLANG_CL = cygpath -m ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/clang-cl.exe @@ -1665,6 +1679,8 @@ jobs: $SWIFTC = cygpath -m ${{ github.workspace }}/BuildRoot/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/swiftc.exe if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -1715,18 +1731,18 @@ jobs: -D SWIFT_PATH_TO_SWIFT_SYNTAX_SOURCE=${{ github.workspace }}/SourceCache/swift-syntax ` -D SWIFT_PATH_TO_STRING_PROCESSING_SOURCE=${{ github.workspace }}/SourceCache/swift-experimental-string-processing - name: Build Swift Standard Library - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | Remove-Item env:\SDKROOT cmake --build ${{ github.workspace }}/BinaryCache/swift - name: Install Swift Standard Library - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | Remove-Item env:\SDKROOT cmake --build ${{ github.workspace }}/BinaryCache/swift --target install - uses: actions/upload-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: ${{ matrix.os }}-stdlib-${{ matrix.arch }} path: ${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/${{ matrix.os }}.platform @@ -2008,17 +2024,17 @@ jobs: steps: - uses: actions/download-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: libxml2-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.libxml2_version }} path: ${{ github.workspace }}/BuildRoot/Library/libxml2-${{ inputs.libxml2_version }}/usr - uses: actions/download-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: curl-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.curl_version }} path: ${{ github.workspace }}/BuildRoot/Library/curl-${{ inputs.curl_version }}/usr - uses: actions/download-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: zlib-${{ matrix.os }}-${{ matrix.arch }}-${{ inputs.zlib_version }} path: ${{ github.workspace }}/BuildRoot/Library/zlib-${{ inputs.zlib_version }}/usr @@ -2029,7 +2045,7 @@ jobs: name: compilers-${{ inputs.build_arch }} path: ${{ github.workspace }}/BinaryCache/Library - uses: actions/download-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: ${{ matrix.os }}-stdlib-${{ matrix.arch }} path: ${{ github.workspace }}/BinaryCache/Library/Developer/Platforms/${{ matrix.os }}.platform @@ -2124,7 +2140,7 @@ jobs: ndk-version: ${{ inputs.ANDROID_NDK_VERSION }} - name: Configure libdispatch - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # Workaround CMake 3.20 issue $CLANG_CL = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/clang-cl.exe @@ -2132,6 +2148,8 @@ jobs: if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -2173,12 +2191,12 @@ jobs: -D BUILD_TESTING=NO ` -D ENABLE_SWIFT=YES - name: Build libdispatch - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/libdispatch - name: Configure Foundation - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # Workaround CMake 3.20 issue $CLANG_CL = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/clang-cl.exe @@ -2186,6 +2204,8 @@ jobs: if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -2256,7 +2276,7 @@ jobs: # TODO(compnerd) correctly version XCTest - name: Configure xctest - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # Workaround CMake 3.20 issue $CLANG_CL = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/clang-cl.exe @@ -2264,6 +2284,8 @@ jobs: if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -2305,12 +2327,12 @@ jobs: -D Foundation_DIR=${{ github.workspace }}/BinaryCache/foundation/cmake/modules ` -D ENABLE_TESTING=NO - name: Build xctest - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/xctest - name: Configure Testing - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | # Workaround CMake 3.20 issue $CLANG_CL = cygpath -m ${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/clang-cl.exe @@ -2318,6 +2340,8 @@ jobs: if ("${{ matrix.os }}" -eq "Android") { $NDKPATH = cygpath -m ${{ steps.setup-ndk.outputs.ndk-path }} + # Since win/arm64 doesn't have one, this logic is necessary because + # passing an empty CMAKE_ANDROID_NDK value causes a failure. $CMAKE_NDK_FLAG = "-DCMAKE_ANDROID_NDK=$NDKPATH" $SWIFT_NDK_FLAG = "-DSWIFT_ANDROID_NDK_PATH=$NDKPATH" } @@ -2358,30 +2382,30 @@ jobs: -D Foundation_DIR=${{ github.workspace }}/BinaryCache/foundation/cmake/modules ` -D SwiftTesting_MACRO=${{ github.workspace }}/BinaryCache/Library/Developer/Toolchains/unknown-Asserts-development.xctoolchain/usr/bin/TestingMacros.dll - name: Build Testing - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/testing - name: Install Testing - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/testing --target install - name: Install xctest - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/xctest --target install - name: Install foundation - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/foundation --target install - name: Install libdispatch - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android run: | cmake --build ${{ github.workspace }}/BinaryCache/libdispatch --target install - uses: actions/setup-python@v5 - uses: jannekem/run-python-script-action@v1 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: script: | import os @@ -2399,7 +2423,7 @@ jobs: plistlib.dump({ 'DefaultProperties': { 'DEFAULT_USE_RUNTIME': 'MD' } }, plist) - uses: actions/upload-artifact@v4 - if: ${{ !(matrix.os == 'Android' && inputs.build_os == 'Windows' && inputs.build_arch == 'arm64') }} + if: matrix.os != 'Android' || inputs.build_android with: name: ${{ matrix.os }}-sdk-${{ matrix.arch }} path: ${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/${{ matrix.os }}.platform @@ -3525,7 +3549,7 @@ jobs: package_android_sdk_runtime: # TODO: Build this on macOS or make an equivalent Mac-only job - if: inputs.build_os == 'Windows' && inputs.build_arch == 'amd64' + if: inputs.build_android name: Package Android SDK & Runtime needs: [stdlib, ds2, sdk] runs-on: ${{ inputs.default_build_runner }} @@ -3595,7 +3619,7 @@ jobs: -p:BaseOutputPath=${{ github.workspace }}\BinaryCache\installer\ ` -p:Configuration=Release ` -p:SignOutput=${{ inputs.signed }} ` - -p:ANDROID_INCLUDE_DS2=${{ inputs.build_arch == 'amd64' && true || false }} ` + -p:ANDROID_INCLUDE_DS2=${{ inputs.build_android }} ` -p:CERTIFICATE=${env:CERTIFICATE} ` -p:PASSPHRASE=${{ secrets.PASSPHRASE }} ` -p:PLATFORM_ROOT=${{ github.workspace }}/BuildRoot/Library/Developer/Platforms/Android.platform ` @@ -3667,22 +3691,22 @@ jobs: name: sdk-windows-arm64-msi path: ${{ github.workspace }}/BinaryCache/installer/Release/arm64 - uses: actions/download-artifact@v4 - if: inputs.build_arch == 'amd64' + if: inputs.build_android with: name: sdk-android-arm64-msi path: ${{ github.workspace }}/BinaryCache/installer/Release/aarch64 - uses: actions/download-artifact@v4 - if: inputs.build_arch == 'amd64' + if: inputs.build_android with: name: sdk-android-x86_64-msi path: ${{ github.workspace }}/BinaryCache/installer/Release/x86_64 - uses: actions/download-artifact@v4 - if: inputs.build_arch == 'amd64' + if: inputs.build_android with: name: sdk-android-armv7-msi path: ${{ github.workspace }}/BinaryCache/installer/Release/armv7 - uses: actions/download-artifact@v4 - if: inputs.build_arch == 'amd64' + if: inputs.build_android with: name: sdk-android-i686-msi path: ${{ github.workspace }}/BinaryCache/installer/Release/i686 @@ -3740,10 +3764,10 @@ jobs: -p:INCLUDE_AMD64_SDK=true ` -p:INCLUDE_X86_SDK=true ` -p:INCLUDE_ARM64_SDK=true ` - -p:ANDROID_INCLUDE_ARM64_SDK=${{ inputs.build_arch == 'amd64' && true || false }} ` - -p:ANDROID_INCLUDE_x86_64_SDK=${{ inputs.build_arch == 'amd64' && true || false }} ` - -p:ANDROID_INCLUDE_ARM_SDK=${{ inputs.build_arch == 'amd64' && true || false }} ` - -p:ANDROID_INCLUDE_X86_SDK=${{ inputs.build_arch == 'amd64' && true || false }} ` + -p:ANDROID_INCLUDE_ARM64_SDK=${{ inputs.build_android }} ` + -p:ANDROID_INCLUDE_x86_64_SDK=${{ inputs.build_android }} ` + -p:ANDROID_INCLUDE_ARM_SDK=${{ inputs.build_android }} ` + -p:ANDROID_INCLUDE_X86_SDK=${{ inputs.build_android }} ` -p:ProductArchitecture=${{ matrix.arch }} ` -p:ProductVersion=${{ inputs.swift_version }}-${{ inputs.swift_tag }} ` ${{ github.workspace }}/SourceCache/swift-installer-scripts/platforms/Windows/bundle/installer.wixproj