We should abort and fail the puppet compiler run if there is any conflict while rebasing from production branch.
See an example of what happens now:
[ 2017-02-02T08:58:13 ] INFO: Working on change 330436 [ 2017-02-02T08:58:13 ] INFO: No host list provided, generating the nodes list [ 2017-02-02T08:58:13 ] INFO: Walking dir /var/lib/catalog-differ/puppet/yaml/facts [ 2017-02-02T08:58:13 ] INFO: Refreshing the common repos from upstream if needed [ 2017-02-02T08:58:25 ] INFO: Creating directories under /mnt/jenkins-workspace/puppet-compiler [ 2017-02-02T08:58:37 ] INFO: Starting new HTTPS connection (1): gerrit.wikimedia.org Note: checking out 'FETCH_HEAD'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 35a1f39... Cumin: allow connection to the targets From /var/lib/catalog-differ/production * branch production -> FETCH_HEAD First, rewinding head to replay your work on top of it... Applying: Cumin: allow connection to the targets Using index info to reconstruct a base tree... M hieradata/common.yaml M manifests/site.pp Falling back to patching base and 3-way merge... Auto-merging manifests/site.pp Auto-merging hieradata/common.yaml CONFLICT (content): Merge conflict in hieradata/common.yaml Failed to merge in the changes. Patch failed at 0001 Cumin: allow connection to the targets The copy of the patch that failed is found in: /mnt/jenkins-workspace/puppet-compiler/5312/change/src/.git/rebase-apply/patch When you have resolved this problem, run "git rebase --continue". If you prefer to skip this patch, run "git rebase --skip" instead. To check out the original branch and stop rebasing, run "git rebase --abort". [ 2017-02-02T08:58:49 ] INFO: Compiling host mw2219.codfw.wmnet (production) [ 2017-02-02T08:58:49 ] INFO: Compiling host lvs2005.codfw.wmnet (production) [ 2017-02-02T08:59:01 ] INFO: Compiling host lvs2005.codfw.wmnet (change) [ 2017-02-02T08:59:05 ] ERROR: Compilation failed for hostname lvs2005.codfw.wmnet with the change. [ 2017-02-02T08:59:05 ] INFO: Compilation exited with code 30 [ 2017-02-02T08:59:05 ] INFO: Compiling host ms-be1001.eqiad.wmnet (production) [ 2017-02-02T08:59:08 ] INFO: Compiling host mw2219.codfw.wmnet (change) [ 2017-02-02T08:59:09 ] INFO: Nodes: 0 NOOP 0 DIFF 1 ERROR 0 FAIL
Source: https://integration.wikimedia.org/ci/job/operations-puppet-catalog-compiler/5312/console