Skip to content

Latest commit

 

History

History
99 lines (74 loc) · 10.9 KB

File metadata and controls

99 lines (74 loc) · 10.9 KB

CI/CD

CI/CD Pipeline Attributes

This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A pipeline in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the Britannica definition of a pipeline where a pipeline is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software.

Attributes:

Key Stability Value Type Description Example Values
cicd.pipeline.action.name Development string The kind of action a pipeline run is performing. BUILD; RUN; SYNC
cicd.pipeline.name Development string The human readable name of the pipeline within a CI/CD system. Build and Test; Lint; Deploy Go Project; deploy_to_environment
cicd.pipeline.result Development string The result of a pipeline run. success; failure; timeout; skipped
cicd.pipeline.run.id Development string The unique identifier of a pipeline run within a CI/CD system. 120912
cicd.pipeline.run.state Development string The pipeline run goes through these states during its lifecycle. pending; executing; finalizing
cicd.pipeline.run.url.full Development string The URL of the pipeline run, providing the complete address in order to locate and identify the pipeline run. https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075
cicd.pipeline.task.name Development string The human readable name of a task within a pipeline. Task here most closely aligns with a computing process in a pipeline. Other terms for tasks include commands, steps, and procedures. Run GoLang Linter; Go Build; go-test; deploy_binary
cicd.pipeline.task.run.id Development string The unique identifier of a task run within a pipeline. [1] 12097
cicd.pipeline.task.run.result Development string The result of a task run. success; failure; timeout; skipped
cicd.pipeline.task.run.url.full Development string The URL of the pipeline task run, providing the complete address in order to locate and identify the pipeline task run. https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075
cicd.pipeline.task.type Development string The type of the task within a pipeline. build; test; deploy
cicd.system.component Development string The name of a component of the CI/CD system. controller; scheduler; agent
cicd.worker.id Development string The unique identifier of a worker within a CI/CD system. abc123; 10.0.1.2; controller
cicd.worker.name Development string The name of a worker within a CI/CD system. agent-abc; controller; Ubuntu LTS
cicd.worker.state Development string The state of a CI/CD worker / agent. idle; busy; down
cicd.worker.url.full Development string The URL of the worker, providing the complete address in order to locate and identify the worker. https://cicd.example.org/worker/abc123

[1] cicd.pipeline.task.run.id: For a given pipeline run and task, the cicd.pipeline.task.run.id MUST be unique within that run. For the same task across different runs of the same pipeline, the cicd.pipeline.task.run.id MAY remain the same, enabling correlation of cicd.pipeline.task.run.result values across multiple pipeline runs.


cicd.pipeline.action.name has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
BUILD The pipeline run is executing a build. Development
RUN The pipeline run is executing. Development
SYNC The pipeline run is executing a sync. Development

cicd.pipeline.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
cancellation The pipeline run was cancelled, eg. by a user manually cancelling the pipeline run. Development
error The pipeline run failed due to an error in the CI/CD system, eg. due to the worker being killed. Development
failure The pipeline run did not finish successfully, eg. due to a compile error or a failing test. Such failures are usually detected by non-zero exit codes of the tools executed in the pipeline run. Development
skip The pipeline run was skipped, eg. due to a precondition not being met. Development
success The pipeline run finished successfully. Development
timeout A timeout caused the pipeline run to be interrupted. Development

cicd.pipeline.run.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
executing The executing state spans the execution of any run tasks (eg. build, test). Development
finalizing The finalizing state spans from when the run has finished executing (eg. cleanup of run resources). Development
pending The run pending state spans from the event triggering the pipeline run until the execution of the run starts (eg. time spent in a queue, provisioning agents, creating run resources). Development

cicd.pipeline.task.run.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
cancellation The task run was cancelled, eg. by a user manually cancelling the task run. Development
error The task run failed due to an error in the CI/CD system, eg. due to the worker being killed. Development
failure The task run did not finish successfully, eg. due to a compile error or a failing test. Such failures are usually detected by non-zero exit codes of the tools executed in the task run. Development
skip The task run was skipped, eg. due to a precondition not being met. Development
success The task run finished successfully. Development
timeout A timeout caused the task run to be interrupted. Development

cicd.pipeline.task.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
build build Development
deploy deploy Development
test test Development

cicd.worker.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

Value Description Stability
available The worker is not performing work for the CI/CD system. It is available to the CI/CD system to perform work on (online / idle). [2] Development
busy The worker is performing work for the CI/CD system. Development
offline The worker is not available to the CI/CD system (disconnected / down). Development

[2]: Pipelines might have conditions on which workers they are able to run so not every worker might be available to every pipeline.