From a468a3b255e326dbfa2b7d629eb20fa275631254 Mon Sep 17 00:00:00 2001 From: Adrien Ferrand Date: Fri, 1 Mar 2019 23:21:07 +0100 Subject: [PATCH] Disable build for commits pushed on master (#6804) Fixes #6746. Every commit on master is always the result of a merged PR, that has been tested by Travis. So retesting the merge commit on master is superfluous. This PR uses build conditions to avoid to launch a build for a commit push on master. I also added the equivalent logic for AppVeyor. Builds cannot received conditions, so it needs to be done on init using Exit-AppVeyorBuild. This command does not fail the build, it finishes it prematurely with success. * Disable build for commit pushed on master (PR are still tested of course) * Equivalent exclusion code for AppVeyor --- .travis.yml | 5 +++++ appveyor.yml | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/.travis.yml b/.travis.yml index 4adab1e4e..108f853aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,11 @@ branches: - /^\d+\.\d+\.x$/ - /^test-.*$/ +# Since master can receive only commits from PR that have already been tested, we avoid with the +# the following condition to launch again a pipeline when the merge commit is pushed to master. +# However master still needs to be set in branches section to allow PR for master to be built. +if: NOT (type = push AND branch = master) + matrix: include: # These environments are always executed diff --git a/appveyor.yml b/appveyor.yml index 2b6b82747..5dcc80ba9 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -11,6 +11,14 @@ branches: - /^\d+\.\d+\.x$/ # Version branches like X.X.X - /^test-.*$/ +init: + # Since master can receive only commits from PR that have already been tested, we avoid with the + # the following condition to launch again a pipeline when the merge commit is pushed to master. + # However master still needs to be set in branches section to allow PR for master to be built. + - ps: | + if (-Not $Env:APPVEYOR_PULL_REQUEST_NUMBER -And $Env:APPVEYOR_REPO_BRANCH -Eq 'master') + { $Env:APPVEYOR_SKIP_FINALIZE_ON_EXIT = 'true'; Exit-AppVeyorBuild } + install: # Use Python 3.7 by default - "SET PATH=C:\\Python37;C:\\Python37\\Scripts;%PATH%"