Draft
Conversation
b3b9d7f to
68c2f6b
Compare
56ab05e to
39eec3e
Compare
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
53a51da to
ce19276
Compare
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
06cefd0 to
24b1808
Compare
This prevents memory corruption due to spec mutation in the withSpec test helper. This is needed in case of multiple calls to `withSpec` with the same spec pointer in parallel tests. The race detector also throws an error here. This fixes a potential easy to stuble upon gotcha within the test suite. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
d58df92 to
b8c1015
Compare
This breaks some assumptions for clients and breaks "docker buildx dap build", which we are relying on for debugging work. Before the change this is also technically solving multiple times, even though the subsequent solves are cached. The main culprit of unlazying the build is the test runner, which needs to run commands and inspect filesystem state to return errors. With this change the test runner is now executed as part of the normal LLB graph. All checks occur inside a buildkit container. The frontend now has an extra set of subcommands for executing certain checks. The frontend binary gets mounted into the test container and it executes those subcommands to perform the various checks. In order to preserve source mapping each test check is run in separate exec ops. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Before this change `RunTest` may return before all messages are processed. This also moves a lot of the logic around to better separate responsibilities and provide a more flexible interface that is, hopefully, easier to reason about. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
60114f8 to
1316da1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This breaks some assumptions for clients and breaks "docker buildx dap build", which we are relying on for debugging work.
Before the change this is also technically solving multiple times, even though the subsequent solves are cached.
The main culprit of unlazying the build is the test runner, which needs to run commands and inspect filesystem state to return errors.
With this change the test runner is now executed as part of the normal LLB graph.
All checks occur inside a buildkit container.
The frontend now has an extra set of subcommands for executing certain checks. The frontend binary gets mounted into the test container and it executes those subcommands to perform the various checks.
In order to preserve source mapping each test check is run in separate exec ops.: