* feat: better logging for UpdateStatus
* feat: jobs now shown in a table in the main page
---------
Co-authored-by: PePe Amengual <jose.amengual@gmail.com>
* Bugfix: TestProjectCommandOutputHandler is unstable
Use buffered channels in TestProjectCommandOutputHandler
The output handler registered with
ProjectCommandOutputHandler.Register() needs the channel that
is given to not block writes. If the channel
blocks writes, the channel is removed from the list
of active receivers on that JobID.
The tests are set up with unbuffered channels, and there
is a race condition where the channel reader does
not hit `for msg := range ch` before the message that
is sent is handled by AsyncProjectCommandOutputHandler.writeLogLine
By making the channel buffered it does not matter
that the reader isn't reading yet.
* Add missing wg.Wait() in TestProjectCommandOutputHandler
There is a rare race condition where messages come in
while the asserts run in the
"clean up all jobs when PR is closed" test.
Added wg.Wait() to make sure all messages are processed
before running the final asserts.
---------
Co-authored-by: Finn Arne Gangstad <finnag@gmail.com>
* Moved CommandContext and CommandResult to models (#193)
* Moved CommandContext and CommandResult to models
* move from models to command
rename CommandContext -> Context
rename CommandResult -> Result
* moved command related helpers into command package
* move ProjectCommandContext and ProjectResult to command/project package
* move project command context and project result
* revert unrelated code
* move tests
* fix left over
* fix linting
* fix tests
* remove unused import
* fix project context dependencies
* fix depenedecies
* fix typo
* Add UUID for Log Streaming Job ID (#167)
* Update log handler to close buffered channels when an operation is complete (#170)
* Add preliminary check before registering new receivers in the log handler (#173)
* Using projectOutputBuffers to check for jobID instead of receiverBuffers (#181)
* Refactor log handler (#175)
* Reverting go.mod and go.sum
* Fix lint errors
* Fix linting