diff --git a/ci/azure-pipelines.yml b/ci/azure-pipelines.yml index 435567d2d1b..feede4ed50a 100644 --- a/ci/azure-pipelines.yml +++ b/ci/azure-pipelines.yml @@ -23,9 +23,13 @@ jobs: path: 'go/src/github.com/hyperledger/fabric' displayName: Checkout Fabric Code - script: make basic-checks native - displayName: Verify Build + displayName: Run Basic Checks + - script: ./ci/scripts/evaluate_commits.sh + name: SetJobTriggers - job: DocBuild + condition: eq(dependencies.VerifyBuild.outputs['SetJobTriggers.buildDoc'], 'true') + dependsOn: VerifyBuild pool: vmImage: ubuntu-18.04 container: @@ -40,6 +44,8 @@ jobs: displayName: Publish Documentation Artifacts - job: UnitTests + condition: eq(dependencies.VerifyBuild.outputs['SetJobTriggers.runTests'], 'true') + dependsOn: VerifyBuild pool: vmImage: ubuntu-18.04 steps: @@ -53,6 +59,8 @@ jobs: displayName: Run Unit Tests - job: IntegrationTests + condition: eq(dependencies.VerifyBuild.outputs['SetJobTriggers.runTests'], 'true') + dependsOn: VerifyBuild pool: vmImage: ubuntu-18.04 strategy: diff --git a/ci/scripts/evaluate_commits.sh b/ci/scripts/evaluate_commits.sh new file mode 100755 index 00000000000..a859e71662a --- /dev/null +++ b/ci/scripts/evaluate_commits.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# Copyright IBM Corp. All Rights Reserved. +# +# SPDX-License-Identifier: Apache-2.0 +set -euo pipefail + +if [[ $(git diff-tree --no-commit-id --name-only 'HEAD^..HEAD') == "docs" ]]; then + echo "##vso[task.setvariable variable=buildDoc;isOutput=true]true" +else + echo "##vso[task.setvariable variable=buildDoc;isOutput=true]true" + echo "##vso[task.setvariable variable=runTests;isOutput=true]true" +fi \ No newline at end of file