onnxruntime/tools/ci_build/github/azure-pipelines/templates/mac-ci.yml
Dmitri Smirnov 49268c42da
Change the way java home is set on Mac OS for CI and Java publishing pipeline (#4385)
* Change the way java_home is set on Mac.

* Change the way JAVA_HOME is set on Mac OS
2020-07-01 07:37:14 -07:00

78 lines
2.8 KiB
YAML

parameters:
JobName: 'MacOS_CI_Dev'
SubmoduleCheckoutMode: ''
BuildCommand: ''
DoNodejsPack: 'false'
DoNugetPack: 'false'
NuPackScript: ''
ArtifactName: 'drop-osx'
jobs:
- job: ${{ parameters.JobName }}
workspace:
clean: all
timeoutInMinutes: 120
pool:
vmImage: 'macOS-10.14'
variables:
BuildCommand: ${{ parameters.BuildCommand }}
steps:
- checkout: self
${{ if ne(parameters.SubmoduleCheckoutMode, '') }}:
submodules: ${{ parameters.SubmoduleCheckoutMode }}
- task: NodeTool@0
inputs:
versionSpec: '12.x'
- script: |
export JAVA_HOME=$(java_home -v 11)
sudo python3 -m pip install -r '$(Build.SourcesDirectory)/tools/ci_build/github/linux/docker/scripts/requirements.txt'
sudo xcode-select --switch /Applications/Xcode_10.app/Contents/Developer
${{ parameters.BuildCommand }}
displayName: 'Build and Test OnnxRuntime lib for MacOS'
- task: PublishTestResults@2
displayName: 'Publish unit test results'
inputs:
testResultsFiles: '**/*.results.xml'
searchFolder: '$(Build.BinariesDirectory)'
testRunTitle: 'Unit Test Run'
condition: succeededOrFailed()
- ${{ if eq(parameters['DoNugetPack'], 'true') }}:
- script: |
${{ parameters.NuPackScript }}
displayName: 'Copy MacOS libs to Artifact Staging'
- task: PublishPipelineArtifact@0
displayName: 'Publish Pipeline Artifact: ${{ parameters.ArtifactName }}'
inputs:
artifactName: ${{ parameters.ArtifactName }}
targetPath: '$(Build.ArtifactStagingDirectory)'
- ${{ if eq(parameters['DoNodejsPack'], 'true') }}:
# Esrp signing
#
# TODO: ESRP team is working on enable signing workflow on Mac. Should enable the following step when it's ready.
#
# - template: mac-esrp-dll.yml
# parameters:
# FolderPath: '$(Build.SourcesDirectory)/nodejs/bin/napi-v3/darwin/x64'
# DisplayName: 'ESRP - Sign Node.js binding binaries'
# DoEsrp: ${{ parameters.DoEsrp }}
# Pattern: '*.dylib,*.node'
- script: |
npm pack
cp $(Build.SourcesDirectory)/nodejs/onnxruntime-*.tgz $(Build.ArtifactStagingDirectory)
cp -R $(Build.SourcesDirectory)/nodejs/prebuilds $(Build.ArtifactStagingDirectory)/prebuilds
workingDirectory: '$(Build.SourcesDirectory)/nodejs'
displayName: 'Create NPM Package'
- task: PublishPipelineArtifact@0
displayName: 'Publish Pipeline Artifact: ${{ parameters.ArtifactName }}'
inputs:
artifactName: ${{ parameters.ArtifactName }}
targetPath: '$(Build.ArtifactStagingDirectory)'
- template: component-governance-component-detection-steps.yml
parameters :
condition : 'succeeded'
- template: clean-agent-build-directory-step.yml