semantic-conventions/docs/attributes-registry/cicd.md

7.5 KiB

CICD

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.

Attribute Type Description Examples Stability
cicd.pipeline.name string The human readable name of the pipeline within a CI/CD system. Build and Test; Lint; Deploy Go Project; deploy_to_environment Experimental
cicd.pipeline.result string The result of a pipeline run. success; failure; timeout; skipped Experimental
cicd.pipeline.run.id string The unique identifier of a pipeline run within a CI/CD system. 120912 Experimental
cicd.pipeline.run.state string The pipeline run goes through these states during its lifecycle. pending; executing; finalizing Experimental
cicd.pipeline.run.url.full 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 Experimental
cicd.pipeline.task.name 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 Experimental
cicd.pipeline.task.run.id string The unique identifier of a task run within a pipeline. 12097 Experimental
cicd.pipeline.task.run.url.full 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 Experimental
cicd.pipeline.task.type string The type of the task within a pipeline. build; test; deploy Experimental
cicd.system.component string The name of a component of the CICD system. controller; scheduler; agent Experimental
cicd.worker.state string The state of a CICD worker / agent. idle; busy; down Experimental

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. Experimental
error The pipeline run failed due to an error in the CICD system, eg. due to the worker being killed. Experimental
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. Experimental
skip The pipeline run was skipped, eg. due to a precondition not being met. Experimental
success The pipeline run finished successfully. Experimental
timeout A timeout caused the pipeline run to be interrupted. Experimental

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). Experimental
finalizing The finalizing state spans from when the run has finished executing (eg. cleanup of run resources). Experimental
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). Experimental

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 Experimental
deploy deploy Experimental
test test Experimental

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 CICD system. It is available to the CICD system to perform work on (online / idle). [1] Experimental
busy The worker is performing work for the CICD system. Experimental
offline The worker is not available to the CICD system (disconnected / down). Experimental

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