This repository was archived by the owner on Jun 15, 2024. It is now read-only.
This repository was archived by the owner on Jun 15, 2024. It is now read-only.
Introduce a concept of step-metadata #86
Open
Description
At the moment, all information about a build pipeline needs to be extracted from individual build steps:
- The build duration and build timestamps
- If the build was retriggered and from which one
- What triggered a build (was it a VCS commit, a manual user interaction, ...)
- That it received and processed a kill
If we had a separate concept of metadata, this could be used by build steps as well as LambdaCD itself to store such information and access it in a convenient way. It could also simplify the life of everyone trying to aggregate and visualize information about their builds in a custom way (see for example #84).
Some ideas on how it could look like:
Pipeline State:
{ :step-results { :step-results-like-before }
:metadata { :a-map-of-metadata }}
Sending metadata:
-
As part of a step-result:
{ :status :success :metadata {:foo :bar }}
-
Through the event-bus
(event-bus/publish ctx :metadata-updated {:build-number 42 :step-id [1 2 3] :metadata {:foo :bar}
In the API and UI
- Build history could include all metadata
- UI could display some aspects of common metadata (maybe commits, ...)