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"