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

1#!/usr/bin/env python3 

2 

3# Standard libraries 

4from argparse import Namespace 

5 

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 

13 

14# Pipeline class, pylint: disable=too-few-public-methods,too-many-instance-attributes 

15class Pipeline: 

16 

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 

26 

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)