|
29 | 29 | import hudson.Extension;
|
30 | 30 | import hudson.Functions;
|
31 | 31 | import hudson.model.Action;
|
32 |
| -import hudson.model.Cause; |
33 | 32 | import hudson.model.Descriptor;
|
34 | 33 | import hudson.model.DescriptorVisibilityFilter;
|
35 | 34 | import hudson.model.ItemGroup;
|
36 | 35 | import hudson.model.Queue;
|
37 | 36 | import hudson.model.Result;
|
38 |
| -import hudson.model.Run; |
39 | 37 | import hudson.model.TaskListener;
|
40 | 38 | import hudson.scm.SCM;
|
41 |
| -import hudson.triggers.SCMTrigger; |
42 |
| -import hudson.triggers.TimerTrigger; |
43 | 39 | import java.io.IOException;
|
44 | 40 | import java.util.List;
|
45 |
| -import java.util.Set; |
46 | 41 | import jenkins.branch.Branch;
|
47 |
| -import jenkins.branch.BranchEventCause; |
48 |
| -import jenkins.branch.BranchIndexingCause; |
49 | 42 | import jenkins.scm.api.SCMFileSystem;
|
50 | 43 | import jenkins.scm.api.SCMHead;
|
51 | 44 | import jenkins.scm.api.SCMRevision;
|
|
54 | 47 | import jenkins.util.SystemProperties;
|
55 | 48 | import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition;
|
56 | 49 | import org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition;
|
57 |
| -import org.jenkinsci.plugins.workflow.cps.replay.ReplayCause; |
58 | 50 | import org.jenkinsci.plugins.workflow.flow.FlowDefinition;
|
59 | 51 | import org.jenkinsci.plugins.workflow.flow.FlowDefinitionDescriptor;
|
60 | 52 | import org.jenkinsci.plugins.workflow.flow.FlowExecution;
|
@@ -111,7 +103,7 @@ public SCMBinder(String scriptPath) {
|
111 | 103 | SCM scm;
|
112 | 104 | if (tip != null) {
|
113 | 105 | build.addAction(new SCMRevisionAction(scmSource, tip));
|
114 |
| - SCMRevision rev = getTrustedRevision(scmSource, tip, listener, build); |
| 106 | + SCMRevision rev = scmSource.getTrustedRevisionForBuild(tip, listener, build); |
115 | 107 | try (SCMFileSystem fs = USE_HEAVYWEIGHT_CHECKOUT ? null : SCMFileSystem.of(scmSource, head, rev)) {
|
116 | 108 | if (fs != null) { // JENKINS-33273
|
117 | 109 | String script = null;
|
@@ -153,24 +145,6 @@ public SCMBinder(String scriptPath) {
|
153 | 145 | return new CpsScmFlowDefinition(scm, scriptPath).create(handle, listener, actions);
|
154 | 146 | }
|
155 | 147 |
|
156 |
| - private static Set<Class<? extends Cause>> passiveCauses = Set.of( |
157 |
| - BranchIndexingCause.class, |
158 |
| - BranchEventCause.class, |
159 |
| - SCMTrigger.SCMTriggerCause.class, |
160 |
| - TimerTrigger.TimerTriggerCause.class); |
161 |
| - /** |
162 |
| - * Like {@link SCMSource#getTrustedRevision} but only for builds with known passive triggers such as {@link BranchIndexingCause}. |
163 |
| - * Other causes such as {@link Cause.UserIdCause} or {@link ReplayCause} or {@code CheckRunGHEventSubscriber.GitHubChecksRerunActionCause} |
164 |
| - * are assumed trusted and so the tip revision is returned as is without consulting the SCM. |
165 |
| - */ |
166 |
| - static SCMRevision getTrustedRevision(SCMSource source, SCMRevision revision, TaskListener listener, Run<?, ?> build) throws IOException, InterruptedException { |
167 |
| - if (build.getCauses().stream().anyMatch(c -> passiveCauses.stream().anyMatch(t -> t.isInstance(c)))) { |
168 |
| - return source.getTrustedRevision(revision, listener); |
169 |
| - } else { |
170 |
| - return revision; |
171 |
| - } |
172 |
| - } |
173 |
| - |
174 | 148 | @Extension public static class DescriptorImpl extends FlowDefinitionDescriptor {
|
175 | 149 |
|
176 | 150 | @NonNull
|
|
0 commit comments