| jobs: |
| - job: win |
| pool: |
| vmImage: vs2017-win2016 |
| timeoutInMinutes: 360 |
| variables: |
| CONFIG: {{ config }} |
| R_CONFIG: {{ r_config|default("") }} |
| ARROW_VERSION: {{ arrow.no_rc_version }} |
| CONDA_BLD_PATH: D:\\bld\\ |
| UPLOAD_PACKAGES: False |
| |
| steps: |
| - script: | |
| choco install vcpython27 -fdv -y --debug |
| condition: contains(variables['CONFIG'], 'vs2008') |
| displayName: Install vcpython27.msi (if needed) |
| |
| - powershell: | |
| Set-PSDebug -Trace 1 |
| $batchcontent = @" |
| ECHO ON |
| SET vcpython=C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0 |
| DIR "%vcpython%" |
| CALL "%vcpython%\vcvarsall.bat" %* |
| "@ |
| $batchDir = "C:\Program Files (x86)\Common Files\Microsoft\Visual C++ for Python\9.0\VC" |
| $batchPath = "$batchDir" + "\vcvarsall.bat" |
| New-Item -Path $batchPath -ItemType "file" -Force |
| Set-Content -Value $batchcontent -Path $batchPath |
| Get-ChildItem -Path $batchDir |
| Get-ChildItem -Path ($batchDir + '\..') |
| condition: contains(variables['CONFIG'], 'vs2008') |
| displayName: Patch vs2008 (if needed) |
| |
| - task: CondaEnvironment@1 |
| inputs: |
| packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional |
| installOptions: "-c conda-forge" |
| updateConda: true |
| displayName: Install conda-build and activate environment |
| - script: set PYTHONUNBUFFERED=1 |
| |
| - script: | |
| git clone --no-checkout {{ arrow.remote }} arrow |
| git -C arrow fetch -t {{ arrow.remote }} {{ arrow.branch }} |
| git -C arrow checkout FETCH_HEAD |
| git -C arrow submodule update --init --recursive |
| displayName: Clone arrow |
| |
| # Configure the VM |
| - script: setup_conda_rc .\ .\ .\.ci_support\%CONFIG%.yaml |
| workingDirectory: arrow\dev\tasks\conda-recipes |
| |
| # Configure the VM. |
| - script: | |
| set "CI=azure" |
| call activate base |
| run_conda_forge_build_setup |
| displayName: conda-forge build setup |
| workingDirectory: arrow\dev\tasks\conda-recipes |
| |
| - script: | |
| conda.exe build arrow-cpp parquet-cpp -m .ci_support\%CONFIG%.yaml |
| displayName: Build recipe |
| workingDirectory: arrow\dev\tasks\conda-recipes |
| env: |
| PYTHONUNBUFFERED: 1 |
| condition: not(contains(variables['CONFIG'], 'vs2008')) |
| |
| - script: | |
| conda.exe build r-arrow -m .ci_support\r\%R_CONFIG%.yaml |
| displayName: Build recipe |
| workingDirectory: arrow\dev\tasks\conda-recipes |
| env: |
| PYTHONUNBUFFERED: 1 |
| condition: contains(variables['R_CONFIG'], 'win') |
| |
| # Using github release tries to find a common ancestor between the |
| # currently pushed tag and the latest tag of the github repository |
| # (don't know why). |
| # The tag upload took 43 minutes because of this scan, so use an |
| # alternative upload script. |
| - task: CondaEnvironment@1 |
| inputs: |
| packageSpecs: 'click github3.py jinja2 jira pygit2 ruamel.yaml setuptools_scm toolz' |
| installOptions: '-c conda-forge' |
| updateConda: false |
| - script: | |
| python arrow/dev/tasks/crossbow.py ^ |
| --queue-path . ^ |
| --queue-remote {{ queue_remote_url }} ^ |
| upload-artifacts ^ |
| --sha {{ task.branch }} ^ |
| --tag {{ task.tag }} ^ |
| --pattern "D:\bld\win-64\*.tar.bz2" |
| env: |
| CROSSBOW_GITHUB_TOKEN: $(CROSSBOW_GITHUB_TOKEN) |
| displayName: Upload packages as a GitHub release |
| |
| {% if arrow.branch == 'master' %} |
| # Upload to custom anaconda channel |
| - script: | |
| source activate base |
| conda install -y anaconda-client |
| anaconda -t $(CROSSBOW_ANACONDA_TOKEN) upload --force D:\bld\win-64\*.tar.bz2 |
| displayName: Upload packages to Anaconda |
| workingDirectory: arrow/dev/tasks/conda-recipes |
| {% endif %} |