Skip to content

Commit 3d11fd8

Browse files
authored
Merge pull request #1453 from finos/winwheel
Build Windows wheel, limit wheel builds to scheduled and tagged builds
2 parents bc02d54 + b96541f commit 3d11fd8

File tree

2 files changed

+35
-11
lines changed

2 files changed

+35
-11
lines changed

azure-pipelines.yml

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -133,15 +133,18 @@ parameters:
133133
type: stepList
134134
default:
135135
# Build a python wheel for Mac 10.14
136-
- bash: yarn _wheel_python --ci $(python_flag) --macos
136+
- bash: yarn _wheel_python $(python_flag) --macos
137+
condition: and(succeeded(), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
137138
displayName: 'Build wheel'
138139

139140
# Test the wheel
140141
- bash: cd $(System.DefaultWorkingDirectory)/python/perspective/scripts && ./test_wheels.sh $(python_flag) --macos
142+
condition: and(succeeded(), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
141143
displayName: 'Test Mac Wheel'
142144

143145
# Save the artifact to Azure storage
144146
- task: PublishPipelineArtifact@1
147+
condition: and(succeeded(), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
145148
inputs:
146149
targetPath: '$(System.DefaultWorkingDirectory)/python/perspective/dist/'
147150
artifactName: '$(artifact_name)'
@@ -151,22 +154,37 @@ parameters:
151154
default:
152155
# Build a python wheel for Manylinux
153156
- bash: yarn _wheel_python --ci $(python_flag) $(manylinux_flag)
154-
condition: and(succeeded(), ne(variables['manylinux_flag'], ''))
157+
condition: and(succeeded(), ne(variables['manylinux_flag'], ''), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
155158
displayName: 'Build Manylinux Wheel'
156159
env:
157160
PSP_DOCKER: 1
158161

159162
# Test the wheel
160163
- bash: cd $(System.DefaultWorkingDirectory)/python/perspective/scripts && ./test_wheels.sh $(python_flag) $(manylinux_flag)
161-
condition: and(succeeded(), ne(variables['manylinux_flag'], ''))
164+
condition: and(succeeded(), ne(variables['manylinux_flag'], ''), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
162165
displayName: 'Test Manylinux Wheel'
163166

164167
# Save the artifact to Azure storage
165168
- task: PublishPipelineArtifact@1
166-
condition: and(succeeded(), ne(variables['manylinux_flag'], ''))
169+
condition: and(succeeded(), ne(variables['manylinux_flag'], ''), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
167170
inputs:
168171
targetPath: '$(System.DefaultWorkingDirectory)/python/perspective/wheelhouse/'
169172
artifactName: '$(artifact_name)'
173+
174+
- name: pythonWindowsWheelSteps
175+
type: stepList
176+
default:
177+
# Build a python wheel for Windows
178+
- bash: yarn _wheel_python $(python_flag)
179+
condition: and(succeeded(), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
180+
displayName: 'Build Windows Wheel'
181+
182+
# Save the artifact to Azure storage
183+
- task: PublishPipelineArtifact@1
184+
condition: and(succeeded(), or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')))
185+
inputs:
186+
targetPath: '$(System.DefaultWorkingDirectory)/python/perspective/dist/'
187+
artifactName: '$(artifact_name)'
170188

171189
jobs:
172190
- job: 'WebAssembly'
@@ -286,24 +304,28 @@ jobs:
286304
Python37:
287305
python.version: '3.7'
288306
python_flag: ''
307+
artifact_name: 'cp37-cp37m-win64_amd'
308+
289309
${{ if or(startsWith(variables['build.sourceBranch'], 'refs/tags/v'), eq(variables['Build.Reason'], 'Schedule')) }}:
290310
Python36:
291311
python.version: '3.6'
292312
python_flag: '--python36'
313+
artifact_name: 'cp36-cp36m-win64_amd'
293314
Python38:
294315
python.version: '3.8'
295316
python_flag: '--python38'
317+
artifact_name: 'cp38-cp38m-win64_amd'
296318
Python39:
297319
python.version: '3.9'
298320
python_flag: '--python39'
321+
artifact_name: 'cp39-cp39m-win64_amd'
299322

300323
steps:
301324
- ${{ parameters.initSteps }}
302325
- ${{ parameters.windowsInitSteps }}
303326
- ${{ parameters.pythonBuildSteps }}
327+
- ${{ parameters.pythonWindowsWheelSteps }}
304328

305-
- script: yarn build_python --ci $(python_flag)
306-
displayName: 'build'
307329

308330
- job: 'MacOS_Catalina'
309331
pool:
@@ -312,10 +334,6 @@ jobs:
312334
strategy:
313335
matrix:
314336

315-
Python37:
316-
python.version: '3.7'
317-
python_flag: ''
318-
artifact_name: 'cp37-cp37m-macosx_10_15_x86_64'
319337
Python39:
320338
python.version: '3.9'
321339
python_flag: '--python39'
@@ -326,7 +344,12 @@ jobs:
326344
python.version: '3.6'
327345
python_flag: '--python36'
328346
artifact_name: 'cp36-cp36m-macosx_10_15_x86_64'
329-
347+
348+
Python37:
349+
python.version: '3.7'
350+
python_flag: ''
351+
artifact_name: 'cp37-cp37m-macosx_10_15_x86_64'
352+
330353
Python38:
331354
python.version: '3.8'
332355
python_flag: '--python38'

scripts/_wheel_python.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ try {
8888
cmd += `${PYTHON} setup.py bdist_wheel`;
8989
cmd += " && mkdir -p ./wheelhouse && cp -v ./dist/*.whl ./wheelhouse";
9090
} else {
91+
// Windows
9192
cmd += `${PYTHON} setup.py bdist_wheel`;
9293
}
9394

0 commit comments

Comments
 (0)