Skip to content

Commit

Permalink
builder: consider all execution paths
Browse files Browse the repository at this point in the history
The builds step implicitly depends on the execution path of all
dependencies. So far we only tracked arguments. But some build systems
also store the absolute path to tools. In this case, the build will fail
if a tool path changes.

The simple approach by using getAllDepSteps() will additionally add the
sandbox path too. This will lead to rebuilds if the sandbox image
changes. This should not happen too often and is probably not even a bad
idea.
  • Loading branch information
jkloetzke committed May 29, 2024
1 parent 277e1ae commit 01b5cbb
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion pym/bob/builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -1295,7 +1295,7 @@ async def _cookBuildStep(self, buildStep, depth, buildBuildId):
# dependency directories change.
buildVariantId = await self.__getIncrementalVariantId(buildStep)
buildDigest = [buildVariantId, buildStep.getExecPath()] + \
[ i.getExecPath(buildStep) for i in buildStep.getArguments() if i.isValid() ]
[ i.getExecPath(buildStep) for i in buildStep.getAllDepSteps() if i.isValid() ]

# get directory into shape
(prettyBuildPath, created) = self._constructDir(buildStep, "build")
Expand Down

0 comments on commit 01b5cbb

Please sign in to comment.