@@ -51,46 +51,17 @@ The subcomponent used to figure out whether a build can be scheduled is called t
5151
5252 The scheduler will schedule a new build if any of the versions produced by
5353 the algorithm for \reference{schema.get.trigger}{\code{trigger:
54- true}} resources is not equal to the version used by the \bold{previous
55- build} of the job.
54+ true}} resources has not been used in any previous build of the job.
5655
57- What this means is if the algorithm runs and computes an
58- input version, the scheduler will create a new build as long as that version
59- is different than the previous build's version for that same input. Even if
60- that version has been used by a build 2 months ago, the scheduler will
61- schedule a new build as long as it has not been used by the previous build.
56+ What this means is if the algorithm runs and computes an input version, the
57+ scheduler will create a new build as long as that version has not been used
58+ by any previous build's version for that same input. Even if that version has
59+ been used by a build 2 months ago, the scheduler will \bold{not} schedule a
60+ new build because that version has been previously used in a build of the
61+ job.
6262
63- If there are any input versions that are different than the previous build,
64- it will trigger a new build. This can affect some users that are using the
65- pinning functionality to run older versions.
66-
67- Let's say you have a job that takes a resource as an input. It currently has
68- two builds, build 1 has ran with version \code{v1} of the resource and build
69- 2 has ran with \code{v2}.
70-
71- \diagram{images/new-pinning-behavior-1.png}{80%}
72-
73- If I pin the input to an older version, a new build is produced because the
74- pinned version \code{v1} is not equivalent to the version of the previous
75- build \code{v2}.
76-
77- \diagram{images/new-pinning-behavior-3.png}{90%}
78-
79- Then if I unpin the version, another build would be triggered again using the
80- latest version.
81-
82- \diagram{images/new-pinning-behavior-4.png}{90%}
83-
84- This is because after unpinning the resource, the input version for the next
85- build becomes the latest version \code{v2} which is not equal to the version
86- \code{v1} used by the previous build.
87-
88- This is to allow the current state of the builds to always reflect the
89- current state of the versions. That being said, this behavior can be
90- undesirable if the goal is to only run a job using an old version. In this
91- case, build rerunning is the better choice. If you would like to learn more
92- about build rerunning, you can read more about it in the
93- \reference{build-rerunning}{build rerunning section}.
63+ If there are any input versions that are different from any previous build,
64+ it will trigger a new build.
9465}
9566
9667\section{
@@ -109,9 +80,9 @@ The subcomponent used to figure out whether a build can be scheduled is called t
10980 }{
11081 A build finishes for an upstream job (through passed constraints)
11182 }{
112- Enabling/Disabling a resource version
83+ Enabling/Disabling a resource version that has not been used in a previous build
11384 }{
114- Pinning/Unpinning a resource version
85+ Pinning/Unpinning a resource version that has not been used in a previous build
11586 }{
11687 Setting a pipeline
11788 }{
0 commit comments