-
Notifications
You must be signed in to change notification settings - Fork 257
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spin watch builds all components when a single component is changed #1417
Comments
@calebschoepp This feels like something that could slot nicely in if/when you are separating "artifact" paths from "source code" paths - you could split the source code watches down further to associate component name(s) with them. Though presumably it would also need an entry point into build to build only specific components - I am not sure how you are driving that at the moment. |
reads 3 emails further on and discovers that @calebschoepp has already done that refactor well maybe next time |
@itowlson this isn't handled in my current refactor (#1418) and is out of scope for it. Buuuuuut, my refactor has laid the foundation to do this much more easily. Something like: pub enum Effect {
/// Exit spin watch
Exit,
/// Either `spin build` or `spin up` failed to run
ProcessFailed,
/// `spin build` has completed running, `spin up` never completes
ProcessCompleted,
/// Changes have been made to the application manifest
ManifestChange,
/// Changes have been made to the application source code
SourceChange(component String),
/// Changes have been made to an application artifact
ArtifactChange(component String),
/// A default option that maps to doing nothing
DoNothing,
} |
Just noting that the single-component entry point into build now exists courtesy of the Spin Doctor. |
@itowlson is this kind of feature still achievable with your redesign of |
We still want to do it but my refactor definitely introduced exciting new challenges to doing so - see the discussion on #2478. I would leave it open because it is still a nice-to-have feature. |
Ok, so a silly and naive question:
There could be a flag in the config that is False by default, then opt-in via config.
Then, the components that are slowest to compile could be toggled to only be recompiled when one of the component's files were mod'd.
To track, an artifact could be left in the |
if files in
foo
are changedfoo
andbar
both get rebuilt.The text was updated successfully, but these errors were encountered: