зеркало из https://github.com/microsoft/LightGBM.git
186 строки
6.0 KiB
YAML
186 строки
6.0 KiB
YAML
trigger:
|
|
branches:
|
|
include:
|
|
- master
|
|
tags:
|
|
include:
|
|
- v*
|
|
pr:
|
|
- master
|
|
variables:
|
|
PYTHON_VERSION: 3.8
|
|
CONDA_ENV: test-env
|
|
resources:
|
|
containers:
|
|
- container: ubuntu1404
|
|
image: lightgbm/vsts-agent:ubuntu-14.04
|
|
jobs:
|
|
###########################################
|
|
- job: Linux
|
|
###########################################
|
|
variables:
|
|
COMPILER: gcc
|
|
pool:
|
|
vmImage: 'ubuntu-latest'
|
|
container: ubuntu1404
|
|
strategy:
|
|
maxParallel: 6
|
|
matrix:
|
|
regular:
|
|
TASK: regular
|
|
sdist:
|
|
TASK: sdist
|
|
bdist:
|
|
TASK: bdist
|
|
PYTHON_VERSION: 3.7
|
|
inference:
|
|
TASK: if-else
|
|
mpi_source:
|
|
TASK: mpi
|
|
METHOD: source
|
|
gpu_source:
|
|
TASK: gpu
|
|
METHOD: source
|
|
PYTHON_VERSION: 3.6
|
|
steps:
|
|
- script: |
|
|
echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY"
|
|
echo "##vso[task.setvariable variable=OS_NAME]linux"
|
|
echo "##vso[task.setvariable variable=AZURE]true"
|
|
echo "##vso[task.setvariable variable=LGB_VER]$(head -n 1 VERSION.txt)"
|
|
echo "##vso[task.prependpath]$CONDA/bin"
|
|
AMDAPPSDK_PATH=$BUILD_SOURCESDIRECTORY/AMDAPPSDK
|
|
echo "##vso[task.setvariable variable=AMDAPPSDK_PATH]$AMDAPPSDK_PATH"
|
|
LD_LIBRARY_PATH=$AMDAPPSDK_PATH/lib/x86_64:$LD_LIBRARY_PATH
|
|
echo "##vso[task.setvariable variable=LD_LIBRARY_PATH]$LD_LIBRARY_PATH"
|
|
echo "##vso[task.setvariable variable=OPENCL_VENDOR_PATH]$AMDAPPSDK_PATH/etc/OpenCL/vendors"
|
|
displayName: 'Set variables'
|
|
- bash: $(Build.SourcesDirectory)/.ci/setup.sh
|
|
displayName: Setup
|
|
- bash: $(Build.SourcesDirectory)/.ci/test.sh
|
|
displayName: Test
|
|
- task: PublishBuildArtifacts@1
|
|
condition: and(succeeded(), in(variables['TASK'], 'regular', 'sdist', 'bdist'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: PackageAssets
|
|
artifactType: container
|
|
###########################################
|
|
- job: MacOS
|
|
###########################################
|
|
variables:
|
|
COMPILER: clang
|
|
pool:
|
|
vmImage: 'macOS-10.14'
|
|
strategy:
|
|
maxParallel: 3
|
|
matrix:
|
|
regular:
|
|
TASK: regular
|
|
PYTHON_VERSION: 3.7
|
|
sdist:
|
|
TASK: sdist
|
|
bdist:
|
|
TASK: bdist
|
|
steps:
|
|
- script: |
|
|
echo "##vso[task.setvariable variable=BUILD_DIRECTORY]$BUILD_SOURCESDIRECTORY"
|
|
echo "##vso[task.setvariable variable=OS_NAME]macos"
|
|
echo "##vso[task.setvariable variable=AZURE]true"
|
|
echo "##vso[task.setvariable variable=LGB_VER]$(head -n 1 VERSION.txt)"
|
|
CONDA=$AGENT_HOMEDIRECTORY/miniconda
|
|
echo "##vso[task.setvariable variable=CONDA]$CONDA"
|
|
echo "##vso[task.prependpath]$CONDA/bin"
|
|
echo "##vso[task.prependpath]$(brew --prefix swig@3)/bin"
|
|
echo "##vso[task.setvariable variable=JAVA_HOME]$JAVA_HOME_8_X64"
|
|
displayName: 'Set variables'
|
|
- bash: $(Build.SourcesDirectory)/.ci/setup.sh
|
|
displayName: Setup
|
|
- bash: $(Build.SourcesDirectory)/.ci/test.sh
|
|
displayName: Test
|
|
- task: PublishBuildArtifacts@1
|
|
condition: and(succeeded(), in(variables['TASK'], 'regular', 'sdist', 'bdist'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: PackageAssets
|
|
artifactType: container
|
|
###########################################
|
|
- job: Windows
|
|
###########################################
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
strategy:
|
|
maxParallel: 3
|
|
matrix:
|
|
regular:
|
|
TASK: regular
|
|
PYTHON_VERSION: 3.6
|
|
sdist:
|
|
TASK: sdist
|
|
PYTHON_VERSION: 2.7
|
|
bdist:
|
|
TASK: bdist
|
|
steps:
|
|
- powershell: |
|
|
Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
|
|
Write-Host "##vso[task.setvariable variable=AZURE]true"
|
|
displayName: 'Set Variables'
|
|
- script: |
|
|
cmd /c "conda init powershell"
|
|
cmd /c "powershell -ExecutionPolicy Bypass -File %BUILD_SOURCESDIRECTORY%/.ci/test_windows.ps1"
|
|
displayName: Test
|
|
- task: PublishBuildArtifacts@1
|
|
condition: and(succeeded(), in(variables['TASK'], 'regular', 'sdist', 'bdist'), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: PackageAssets
|
|
artifactType: container
|
|
|
|
###########################################
|
|
- job: Package
|
|
###########################################
|
|
dependsOn:
|
|
- Linux
|
|
- MacOS
|
|
- Windows
|
|
condition: and(succeeded(), not(startsWith(variables['Build.SourceBranch'], 'refs/pull/')))
|
|
pool:
|
|
vmImage: 'vs2017-win2016'
|
|
steps:
|
|
# Download all agent packages from all previous phases
|
|
- task: DownloadBuildArtifacts@0
|
|
displayName: Download package assets
|
|
inputs:
|
|
artifactName: PackageAssets
|
|
downloadPath: $(Build.SourcesDirectory)/binaries
|
|
- script: |
|
|
python %BUILD_SOURCESDIRECTORY%/.nuget/create_nuget.py %BUILD_SOURCESDIRECTORY%/binaries/PackageAssets
|
|
displayName: 'Create NuGet configuration files'
|
|
- task: NuGetCommand@2
|
|
inputs:
|
|
command: pack
|
|
packagesToPack: '$(Build.SourcesDirectory)/.nuget/*.nuspec'
|
|
packDestination: '$(Build.ArtifactStagingDirectory)'
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
|
artifactName: NuGet
|
|
artifactType: container
|
|
- task: GitHubRelease@0
|
|
displayName: 'Create GitHub Release'
|
|
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/v'))
|
|
inputs:
|
|
gitHubConnection: guolinke
|
|
repositoryName: '$(Build.Repository.Name)'
|
|
action: 'create'
|
|
target: '$(Build.SourceVersion)'
|
|
tagSource: 'auto'
|
|
title: '$(Build.SourceBranchName)'
|
|
assets: |
|
|
$(Build.SourcesDirectory)/binaries/PackageAssets/*
|
|
$(Build.ArtifactStagingDirectory)/*.nupkg
|
|
assetUploadMode: 'delete'
|
|
isDraft: true
|
|
isPreRelease: false
|
|
addChangeLog: false
|