117 lines
3.6 KiB
YAML
117 lines
3.6 KiB
YAML
trigger: none
|
|
|
|
pr:
|
|
autoCancel: true
|
|
drafts: false
|
|
branches:
|
|
include:
|
|
- master
|
|
paths:
|
|
include:
|
|
- neural_compressor/common
|
|
- neural_compressor/torch
|
|
- test/3x/torch
|
|
- test/3x/common
|
|
- setup.py
|
|
- requirements_pt.txt
|
|
- .azure-pipelines/ut-3x-pt.yml
|
|
- .azure-pipelines/template/docker-template.yml
|
|
- .azure-pipelines/scripts/install_nc.sh
|
|
- .azure-pipelines/scripts/ut/3x/run_3x_pt.sh
|
|
|
|
pool: ICX-16C
|
|
|
|
variables:
|
|
IMAGE_NAME: "neural-compressor"
|
|
IMAGE_TAG: "py310"
|
|
UPLOAD_PATH: $(Build.SourcesDirectory)/log_dir
|
|
DOWNLOAD_PATH: $(Build.SourcesDirectory)/log_dir
|
|
ARTIFACT_NAME: "UT_coverage_report_3x_pt"
|
|
REPO: $(Build.Repository.Uri)
|
|
|
|
stages:
|
|
- stage: Torch
|
|
displayName: Unit Test 3x Torch
|
|
dependsOn: []
|
|
jobs:
|
|
- job:
|
|
displayName: Unit Test 3x Torch
|
|
steps:
|
|
- template: template/ut-template.yml
|
|
parameters:
|
|
dockerConfigName: "commonDockerConfig"
|
|
utScriptFileName: "3x/run_3x_pt"
|
|
uploadPath: $(UPLOAD_PATH)
|
|
utArtifact: "ut_3x"
|
|
|
|
|
|
- stage: Torch_baseline
|
|
displayName: Unit Test 3x Torch baseline
|
|
dependsOn: []
|
|
jobs:
|
|
- job:
|
|
displayName: Unit Test 3x Torch baseline
|
|
steps:
|
|
- template: template/ut-template.yml
|
|
parameters:
|
|
dockerConfigName: "gitCloneDockerConfig"
|
|
utScriptFileName: "3x/run_3x_pt"
|
|
uploadPath: $(UPLOAD_PATH)
|
|
utArtifact: "ut_3x_baseline"
|
|
repo: $(REPO)
|
|
|
|
- stage: Coverage
|
|
displayName: "Coverage Compare"
|
|
pool:
|
|
vmImage: "ubuntu-latest"
|
|
dependsOn: [Torch, Torch_baseline]
|
|
jobs:
|
|
- job: CollectDatafiles
|
|
steps:
|
|
- script: |
|
|
if [[ ! $(docker images | grep -i ${IMAGE_NAME}:${IMAGE_TAG}) ]]; then
|
|
docker build -f ${BUILD_SOURCESDIRECTORY}/.azure-pipelines/docker/Dockerfile.devel -t ${IMAGE_NAME}:${IMAGE_TAG} .
|
|
fi
|
|
docker images | grep -i ${IMAGE_NAME}
|
|
if [[ $? -ne 0 ]]; then
|
|
echo "NO Such Repo"
|
|
exit 1
|
|
fi
|
|
displayName: "Build develop docker image"
|
|
|
|
- task: DownloadPipelineArtifact@2
|
|
inputs:
|
|
artifact:
|
|
patterns: '*_coverage/.coverage'
|
|
path: $(DOWNLOAD_PATH)
|
|
|
|
- script: |
|
|
echo "--- create container ---"
|
|
docker run -d -it --name="collectLogs" -v ${BUILD_SOURCESDIRECTORY}:/neural-compressor ${IMAGE_NAME}:${IMAGE_TAG} /bin/bash
|
|
echo "--- docker ps ---"
|
|
docker ps
|
|
echo "--- collect logs ---"
|
|
docker exec collectLogs /bin/bash +x -c "cd /neural-compressor/.azure-pipelines/scripts \
|
|
&& bash install_nc.sh 3x_pt \
|
|
&& bash ut/3x/collect_log_3x.sh 3x_pt"
|
|
displayName: "Collect UT Coverage"
|
|
|
|
- task: PublishCodeCoverageResults@2
|
|
inputs:
|
|
summaryFileLocation: $(Build.SourcesDirectory)/log_dir/coverage_PR/coverage.xml
|
|
|
|
- task: PublishPipelineArtifact@1
|
|
condition: succeededOrFailed()
|
|
inputs:
|
|
targetPath: $(UPLOAD_PATH)
|
|
artifact: $(ARTIFACT_NAME)
|
|
publishLocation: "pipeline"
|
|
|
|
- task: Bash@3
|
|
condition: always()
|
|
inputs:
|
|
targetType: "inline"
|
|
script: |
|
|
docker exec collectLogs bash -c "rm -fr /neural-compressor/* && rm -fr /neural-compressor/.* || true"
|
|
displayName: "Docker clean up"
|