summary refs log tree commit diff stats
path: root/azure-pipelines.yml
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2021-04-20 00:01:53 -0700
committerGitHub <noreply@github.com>2021-04-20 09:01:53 +0200
commitfb02b569578e4538852cb92b350036548aa5da15 (patch)
treecd8333228522679f1ad1e6e270619c6eecabb930 /azure-pipelines.yml
parent6852d091b33757ab34d1f0c4f9b22d10dbe48049 (diff)
downloadNim-fb02b569578e4538852cb92b350036548aa5da15.tar.gz
support skip ci in azure pipelines, and support it properly in github actions pipelines (#17561)
* support skip ci in azure pipelines

* [skip ci] example of a commit that skips CI

* example of a commit that does not skip CI

* fix github actions logic for ci skip handling

* [skip ci] example of a commit that skips CI for all pipelines

* example of a commit that does not skip CI for any pipeline
Diffstat (limited to 'azure-pipelines.yml')
-rw-r--r--azure-pipelines.yml22
1 files changed, 16 insertions, 6 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 9006cf6e5..55bad609e 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -52,10 +52,20 @@ jobs:
   steps:
     - bash: git config --global core.autocrlf false
       displayName: 'Disable auto conversion to CRLF by git (Windows-only)'
-      condition: eq(variables['Agent.OS'], 'Windows_NT')
+      condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
 
     - checkout: self
-      fetchDepth: 1
+      fetchDepth: 2 # see D20210329T004830
+
+    - bash: |
+        # D20210329T004830:here refs https://github.com/microsoft/azure-pipelines-agent/issues/2944
+        # `--no-merges` is needed to avoid merge commits which occur for PR's.
+        # $(Build.SourceVersionMessage) is not helpful
+        # nor is `github.event.head_commit.message` for github actions.
+        commitMsg=$(git log --no-merges -1 --pretty=format:"%s")
+        echo commitMsg: $commitMsg
+        echo $commitMsg | grep -v '\[skip ci\]' # fails if [skip ci] not in commit msg
+      displayName: 'Check whether to skip CI'
 
     - bash: git clone --depth 1 https://github.com/nim-lang/csources
       displayName: 'Checkout Nim csources'
@@ -73,7 +83,7 @@ jobs:
           echo_run sudo apt-fast install --no-install-recommends -yq \
             libcurl4-openssl-dev libgc-dev libsdl1.2-dev libsfml-dev valgrind libc6-dbg
       displayName: 'Install dependencies (amd64 Linux)'
-      condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'amd64'))
+      condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'amd64'))
 
     - bash: |
         set -e
@@ -113,11 +123,11 @@ jobs:
         echo_run chmod 755 bin/g++
 
       displayName: 'Install dependencies (i386 Linux)'
-      condition: and(eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'i386'))
+      condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'), eq(variables['CPU'], 'i386'))
 
     - bash: brew install boehmgc make sfml
       displayName: 'Install dependencies (OSX)'
-      condition: eq(variables['Agent.OS'], 'Darwin')
+      condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
 
     - bash: |
         set -e
@@ -130,7 +140,7 @@ jobs:
         echo_run echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/dist/mingw64/bin'
 
       displayName: 'Install dependencies (Windows)'
-      condition: eq(variables['Agent.OS'], 'Windows_NT')
+      condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
 
     - bash: echo '##vso[task.prependpath]$(System.DefaultWorkingDirectory)/bin'
       displayName: 'Add build binaries to PATH'