Coverage for src/models/pipelines.py: 100.00%
17 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-10-18 15:02 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-10-18 15:02 +0000
1#!/usr/bin/env python3
3# Standard libraries
4from argparse import Namespace
6# Components
7from .images import Entrypoint, Image
8from .jobs import Jobs
9from .scripts import Scripts
10from .services import Services
11from .stages import Stages
12from .variables import VariablesParser
14# Pipeline class, pylint: disable=too-few-public-methods,too-many-instance-attributes
15class Pipeline:
17 # Members
18 image: Image
19 entrypoint: Entrypoint
20 before_script: Scripts
21 after_script: Scripts
22 jobs: Jobs
23 services: Services
24 stages: Stages
25 variables: VariablesParser
27 # Constructor
28 def __init__(self, options: Namespace) -> None:
29 self.image = ''
30 self.entrypoint = None
31 self.before_script = []
32 self.after_script = []
33 self.jobs = {}
34 self.services = []
35 self.stages = []
36 self.variables = VariablesParser(options)