@@ -14,10 +14,18 @@ jobs:
1414 matrix :
1515 include :
1616 - arch : " x64"
17+ msvc-toolset : " 16"
1718 cmake-version : " 3.14.7"
1819 - arch : " x86"
20+ msvc-toolset : " 16"
1921 cmake-version : " 3.13.2"
20- max-parallel : 2
22+ - arch : " x64"
23+ msvc-toolset : " 9"
24+ cmake-version : " 3.14.7"
25+ - arch : " x86"
26+ msvc-toolset : " 9"
27+ cmake-version : " 3.13.2"
28+ max-parallel : 4
2129 fail-fast : false
2230 runs-on : windows-latest
2331 steps :
@@ -31,10 +39,35 @@ jobs:
3139 python-version : " 3.6"
3240 architecture : ${{ matrix.arch }}
3341 -
34- name : Set MSVC toolchain
42+ name : Set MSVC toolchain (v9)
43+ run : |
44+ Invoke-WebRequest ${{ secrets.VS090URL }} -OutFile VCForPython27.msi
45+ $msi_process = Start-Process "msiexec" -ArgumentList "/i VCForPython27.msi /qn /l*! output.log" -NoNewWindow -PassThru
46+ $msi_process.WaitForExit()
47+ if ("${{ matrix.arch }}" -eq "x64") {
48+ $vcsubdir = "amd64"
49+ $winsdksubdir = "${{ matrix.arch }}"
50+ } else {
51+ $vcsubdir = ""
52+ $winsdksubdir = ""
53+ }
54+ $MSVCROOT = "C:\Users\$env:UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0"
55+ $VCINSTALLDIR = "$MSVCROOT\VC"
56+ $WindowsSdkDir = "$MSVCROOT\WinSDK"
57+ echo VCINSTALLDIR="$VCINSTALLDIR" >> $env:GITHUB_ENV
58+ echo WindowsSdkDir="$WindowsSdkDir" >> $env:GITHUB_ENV
59+ echo PATH="$VCINSTALLDIR\Bin\$vcsubdir;$WindowsSdkDir\Bin\$winsdksubdir;$WindowsSdkDir\Bin;$env:PATH" >> $env:GITHUB_ENV
60+ echo LIB="$VCINSTALLDIR\Lib\$vcsubdir;$WindowsSdkDir\Lib\$winsdksubdir;$env:LIB" >> $env:GITHUB_ENV
61+ echo LIBPATH="$VCINSTALLDIR\Lib\$vcsubdir;$WindowsSdkDir\Lib\$winsdksubdir;$env:LIBPATH" >> $env:GITHUB_ENV
62+ echo INCLUDE="$VCINSTALLDIR\Include;$WindowsSdkDir\Include;$env:INCLUDE" >> $env:GITHUB_ENV
63+ if : matrix.msvc-toolset == '9'
64+ -
65+ name : Set MSVC toolchain (v16)
3566 uses : ilammy/msvc-dev-cmd@v1
3667 with :
3768 arch : ${{ matrix.arch }}
69+ toolset : ${{ env.msvc-toolset }}
70+ if : matrix.msvc-toolset == '16'
3871 -
3972 name : Install CMake
4073 uses : jwlawson/actions-setup-cmake@v1.9
4982 name : Upload GEOS artifacts
5083 uses : actions/upload-artifact@v1
5184 with :
52- name : artifacts-geos-${{ matrix.arch }}
85+ name : artifacts-geos-${{ matrix.arch }}-msvc${{ matrix.msvc-toolset }}
5386 path : ${{ env.PKGDIR }}/extern
5487
5588 build :
@@ -83,22 +116,43 @@ jobs:
83116 python-version : " ${{ matrix.python-version }}"
84117 architecture : ${{ matrix.arch }}
85118 -
86- name : Set MSVC toolset
119+ name : Set MSVC toolset version
87120 run : |
88- if ("${{ matrix.python-version }}" -lt "3.3") {
89- Set-Variable -Name "msvc_toolset" -Value "9.0"
90- } elseif ("${{ matrix.python-version }}" -lt "3.5") {
91- Set-Variable -Name "msvc_toolset" -Value "10.0"
121+ if ("${{ matrix.python-version }}" -eq "2.7") {
122+ echo "msvc-toolset=9" >> $env:GITHUB_ENV
92123 } else {
93- Set-Variable -Name "msvc_toolset" -Value " 16"
124+ echo "msvc-toolset= 16" >> $env:GITHUB_ENV
94125 }
95- echo "MSVC_TOOLSET=${msvc_toolset}" >> $env:GITHUB_ENV
96126 -
97- name : Set MSVC toolchain
127+ name : Set MSVC toolchain (v9)
128+ run : |
129+ Invoke-WebRequest ${{ secrets.VS090URL }} -OutFile VCForPython27.msi
130+ $msi_process = Start-Process "msiexec" -ArgumentList "/i VCForPython27.msi /qn /l*! output.log" -NoNewWindow -PassThru
131+ $msi_process.WaitForExit()
132+ if ("${{ matrix.arch }}" -eq "x64") {
133+ $vcsubdir = "amd64"
134+ $winsdksubdir = "${{ matrix.arch }}"
135+ } else {
136+ $vcsubdir = ""
137+ $winsdksubdir = ""
138+ }
139+ $MSVCROOT = "C:\Users\$env:UserName\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0"
140+ $VCINSTALLDIR = "$MSVCROOT\VC"
141+ $WindowsSdkDir = "$MSVCROOT\WinSDK"
142+ echo VCINSTALLDIR="$VCINSTALLDIR" >> $env:GITHUB_ENV
143+ echo WindowsSdkDir="$WindowsSdkDir" >> $env:GITHUB_ENV
144+ echo PATH="$VCINSTALLDIR\Bin\$vcsubdir;$WindowsSdkDir\Bin\$winsdksubdir;$WindowsSdkDir\Bin;$env:PATH" >> $env:GITHUB_ENV
145+ echo LIB="$VCINSTALLDIR\Lib\$vcsubdir;$WindowsSdkDir\Lib\$winsdksubdir;$env:LIB" >> $env:GITHUB_ENV
146+ echo LIBPATH="$VCINSTALLDIR\Lib\$vcsubdir;$WindowsSdkDir\Lib\$winsdksubdir;$env:LIBPATH" >> $env:GITHUB_ENV
147+ echo INCLUDE="$VCINSTALLDIR\Include;$WindowsSdkDir\Include;$env:INCLUDE" >> $env:GITHUB_ENV
148+ if : env.msvc-toolset == '9'
149+ -
150+ name : Set MSVC toolchain (v16)
98151 uses : ilammy/msvc-dev-cmd@v1
99152 with :
100153 arch : ${{ matrix.arch }}
101- toolset : ${{ env.MSVC_TOOLSET }}
154+ toolset : ${{ env.msvc-toolset }}
155+ if : env.msvc-toolset == '16'
102156 -
103157 name : Install Python base packages
104158 run : |
@@ -127,7 +181,7 @@ jobs:
127181 name : Download GEOS artifacts
128182 uses : actions/download-artifact@v1
129183 with :
130- name : artifacts-geos-${{ matrix.arch }}
184+ name : artifacts-geos-${{ matrix.arch }}-msvc${{ env.msvc-toolset }}
131185 path : ${{ env.PKGDIR }}/extern
132186 -
133187 name : Build wheel
0 commit comments