pyTooling.GitLab works with GitLab CI/CD pipelines: it reads pipeline files (.gitlab-ci.yml) into a data model,
reads the runs of a pipeline from GitLab's REST API, and converts them into traces - e.g. OpenTelemetry's OTLP/JSON or
a Gantt chart of the jobs. A Sphinx domain glci documents a pipeline file's inputs and variables taken straight from
the file.
It builds on pyTooling's generic CI pipeline model and tracing, and on pyTooling.Sphinx for its documentation extensions. Its sibling pyTooling.GitHub does the same for GitHub Actions.
Important
The Sphinx domain glci in pyTooling.GitLab.Sphinx requires pyTooling.Sphinx, and thus
Python 3.12 or newer, because Sphinx 9.1 requires Python 3.12.
The package is installed from PyPI:
pip install pyTooling.GitLab- Pipeline runs - A GitLab pipeline - its jobs, matrices and child pipelines with their times and outcomes - read from the GitLab REST API's payloads.
- Pipeline files - A
.gitlab-ci.ymland the files it includes: stages, jobs with their needs and rules, variables and inputs, read with line numbers, and converted into a pipeline graph.
The domain needs the extra sphinx, which installs pyTooling.Sphinx:
pip install pyTooling.GitLab[sphinx]- Pipelines and their parameters - A pipeline file's
spec:inputsand its described variables, taken straight from the file; roles to reference them. - Summaries - Parameter tables, the interface, the dependencies and YAML excerpts of a pipeline file.
- Pipeline graph - The jobs of a pipeline file, their stages and
needsas a Graphviz graph. - Pipeline trace diagram - Reads a pipeline through the GitLab REST API into a trace, written as OpenTelemetry's OTLP/JSON or drawn as a Gantt chart.
Gantt charts need the extra diagram, which installs matplotlib:
pip install pyTooling.GitLab[diagram]- pytooling-gitlab - The command
pipelinereads a pipeline into a trace, writes it, and draws it as a Gantt chart.
- Patrick Lehmann (Maintainer)
- and more...
This Python package (source code) is licensed under Apache License 2.0.
The accompanying documentation is licensed under Creative Commons - Attribution 4.0 (CC-BY 4.0).
Content of other projects - e.g. recorded pipelines of public gitlab.com projects as test data - is listed with its
license in NOTICE.md.
SPDX-License-Identifier: Apache-2.0