Skip to content
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

Centralise buildengine build update logic #2937

Closed
matt2e opened this issue Oct 1, 2024 · 1 comment
Closed

Centralise buildengine build update logic #2937

matt2e opened this issue Oct 1, 2024 · 1 comment
Assignees
Labels
codebase-health Codebase health core The core of FTL

Comments

@matt2e
Copy link
Collaborator

matt2e commented Oct 1, 2024

Each time a build starts/fails/succeeds we have to:

  • log the update
  • tell e.listener
  • tell the CLI status manager

It's easy to miss doing one of these in each case, or let the logs drift away from being consistent.

  • Could logging be moved to the e.listener wrapper functions rather than being spread out?
  • Can we support pubsub instead of a single listener?
  • Can we connect the build engine and the CLI status manager via a listener?
@github-actions github-actions bot added the triage Issue needs triaging label Oct 1, 2024
@ftl-robot ftl-robot mentioned this issue Oct 1, 2024
@matt2e matt2e added the core The core of FTL label Oct 1, 2024
@stuartwdouglas
Copy link
Collaborator

I think it might also be worth trying to remove the 'round' based processing, and move to a direct dependency model instead. The round based approach means that some deployments can end up waiting for unrelated deployments in the earlier round.

@matt2e matt2e added codebase-health Codebase health and removed triage Issue needs triaging labels Oct 3, 2024
@matt2e matt2e self-assigned this Oct 18, 2024
matt2e added a commit that referenced this issue Oct 22, 2024
#2937
- Module error state is now maintained, so that a changed file in one
module getting successfully deployed does not get confused as
"everything is good now"
- CLI status bar updates now rely on these engine events, rather than
being spread across the engine code
- LSP uses EngineStarted and EngineEnded events to update status
indicator
- Bring all engine status update logs to one place, to align explicit
build commands and plugin triggered builds

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
@matt2e matt2e closed this as completed Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
codebase-health Codebase health core The core of FTL
Projects
None yet
Development

No branches or pull requests

2 participants