|
91 | 91 | - name: Build and Test
|
92 | 92 | run: swift test -c release --enable-test-discovery
|
93 | 93 |
|
| 94 | + windows: |
| 95 | + runs-on: windows-latest |
| 96 | + |
| 97 | + name: "Windows (Swift 5.5)" |
| 98 | + |
| 99 | + steps: |
| 100 | + - uses: actions/checkout@v2 |
| 101 | + - uses: seanmiddleditch/gha-setup-vsdevenv@master |
| 102 | + |
| 103 | + - name: Install swift-5.5 (2021-04-19 SNAPSHOT) |
| 104 | + run: | |
| 105 | + Install-Binary -Url "https://swift.org/builds/swift-5.5-branch/windows10/swift-5.5-DEVELOPMENT-SNAPSHOT-2021-04-19-a/swift-5.5-DEVELOPMENT-SNAPSHOT-2021-04-19-a-windows10.exe" -Name "installer.exe" -ArgumentList ("-q") |
| 106 | + - name: Set Environment Variables |
| 107 | + run: | |
| 108 | + echo "SDKROOT=C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
| 109 | + echo "DEVELOPER_DIR=C:\Library\Developer" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append |
| 110 | + - name: Adjust Paths |
| 111 | + run: | |
| 112 | + echo "C:\Library\Swift-development\bin;C:\Library\icu-67\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
| 113 | + echo "C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
| 114 | + - name: Install Supporting Files |
| 115 | + run: | |
| 116 | + Copy-Item "$env:SDKROOT\usr\share\ucrt.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\ucrt\module.modulemap" |
| 117 | + Copy-Item "$env:SDKROOT\usr\share\visualc.modulemap" -destination "$env:VCToolsInstallDir\include\module.modulemap" |
| 118 | + Copy-Item "$env:SDKROOT\usr\share\visualc.apinotes" -destination "$env:VCToolsInstallDir\include\visualc.apinotes" |
| 119 | + Copy-Item "$env:SDKROOT\usr\share\winsdk.modulemap" -destination "$env:UniversalCRTSdkDir\Include\$env:UCRTVersion\um\module.modulemap" |
| 120 | + # TODO(compnerd) figure out how to build libxml2 |
| 121 | + - name: Fetch libxml2 |
| 122 | + run: | |
| 123 | + Invoke-WebRequest -Uri "https://artprodeus21.artifacts.visualstudio.com/A8fd008a0-56bc-482c-ba46-67f9425510be/3133d6ab-80a8-4996-ac4f-03df25cd3224/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2NvbXBuZXJkL3Byb2plY3RJZC8zMTMzZDZhYi04MGE4LTQ5OTYtYWM0Zi0wM2RmMjVjZDMyMjQvYnVpbGRJZC8zNTI5NS9hcnRpZmFjdE5hbWUveG1sMi13aW5kb3dzLXg2NA2/content?format=zip" -OutFile $env:Temp\xml-windows-x64.zip |
| 124 | + Expand-Archive -Path $env:Temp\xml-windows-x64.zip -DestinationPath $env:Temp -Force |
| 125 | + Move-Item -Path $env:Temp\xml2-windows-x64\Library\libxml2-development -Destination C:\Library\ -Force |
| 126 | + # TODO(compnerd) figure out how to build graphviz |
| 127 | + - name: Fetch graphviz |
| 128 | + run: | |
| 129 | + Invoke-WebRequest -Uri "https://artprodeus21.artifacts.visualstudio.com/A8fd008a0-56bc-482c-ba46-67f9425510be/3133d6ab-80a8-4996-ac4f-03df25cd3224/_apis/artifact/cGlwZWxpbmVhcnRpZmFjdDovL2NvbXBuZXJkL3Byb2plY3RJZC8zMTMzZDZhYi04MGE4LTQ5OTYtYWM0Zi0wM2RmMjVjZDMyMjQvYnVpbGRJZC81MDQ4NS9hcnRpZmFjdE5hbWUvZ3JhcGh2aXotd2luZG93cy14NjQ1/content?format=zip" -OutFile $env:Temp\graphviz-windows-x64.zip |
| 130 | + Expand-Archive -Path $env:Temp\graphviz-windows-x64.zip -Destination $env:Temp -Force |
| 131 | + Move-Item -Path $env:Temp\graphviz-windows-x64\Library\graphviz-development -Destination C:\Library\ -Force |
| 132 | + - name: Add graphviz to PATH |
| 133 | + run: | |
| 134 | + echo "C:\Library\graphviz-development\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append |
| 135 | + - name: Build and Test |
| 136 | + run: | |
| 137 | + swift build -v -c release -Xlinker -LC:\Library\graphviz-development\usr\lib -Xcc -DLIBXML_STATIC -Xcc -IC:\Library\libxml2-development\usr\include -Xcc -IC:\Library\libxml2-development\usr\include\libxml2 -Xlinker -LC:\Library\libxml2-development\usr\lib -Xcc -IC:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\include -Xlinker -LC:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib |
| 138 | +
|
94 | 139 | validate-assets:
|
95 | 140 | runs-on: ubuntu-latest
|
96 | 141 |
|
|
0 commit comments