• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 21552830208

31 Jan 2026 11:40PM UTC coverage: 80.277% (-0.05%) from 80.324%
21552830208

Pull #23062

github

web-flow
Merge 808a9786c into 2c4dcf9cf
Pull Request #23062: Remove support for Get

18 of 25 new or added lines in 4 files covered. (72.0%)

17119 existing lines in 541 files now uncovered.

78278 of 97510 relevant lines covered (80.28%)

3.36 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

97.3
/src/python/pants/backend/k8s/target_types.py
1
# Copyright 2024 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
UNCOV
3
from typing import ClassVar
2✔
4

UNCOV
5
from pants.engine.target import (
2✔
6
    COMMON_TARGET_FIELDS,
7
    Dependencies,
8
    MultipleSourcesField,
9
    SingleSourceField,
10
    SpecialCasedDependencies,
11
    StringField,
12
    Target,
13
    TargetFilesGenerator,
14
    generate_multiple_sources_field_help_message,
15
)
UNCOV
16
from pants.util.strutil import help_text
2✔
17

18

UNCOV
19
class K8sSourceField(SingleSourceField):
2✔
UNCOV
20
    expected_file_extensions: ClassVar[tuple[str, ...]] = (".yml", ".yaml")
2✔
21

22

UNCOV
23
class K8sSourcesField(MultipleSourcesField):
2✔
UNCOV
24
    default = ("*.yaml", "*.yml")
2✔
UNCOV
25
    expected_file_extensions: ClassVar[tuple[str, ...]] = (".yml", ".yaml")
2✔
UNCOV
26
    help = generate_multiple_sources_field_help_message(
2✔
27
        "Example: `sources=['example.yaml', 'new_*.yaml', '!old_ignore.yaml']`"
28
    )
29

30

UNCOV
31
class K8sSourceDependenciesField(Dependencies):
2✔
UNCOV
32
    pass
2✔
33

34

UNCOV
35
class K8sSourceTarget(Target):
2✔
UNCOV
36
    alias = "k8s_source"
2✔
UNCOV
37
    core_fields = (
2✔
38
        # Provides `tags`
39
        *COMMON_TARGET_FIELDS,
40
        K8sSourceField,
41
        K8sSourceDependenciesField,
42
    )
UNCOV
43
    help = "A single k8s object spec file."
2✔
44

45

UNCOV
46
class K8sSourcesTargetGenerator(TargetFilesGenerator):
2✔
UNCOV
47
    alias = "k8s_sources"
2✔
UNCOV
48
    generated_target_cls = K8sSourceTarget
2✔
49

UNCOV
50
    core_fields = (
2✔
51
        # Provides `tags`
52
        *COMMON_TARGET_FIELDS,
53
        K8sSourcesField,
54
    )
UNCOV
55
    copied_fields = COMMON_TARGET_FIELDS
2✔
UNCOV
56
    moved_fields = (K8sSourceDependenciesField,)
2✔
UNCOV
57
    help = help_text(
2✔
58
        f"""
59
        Generate a `{K8sSourceTarget.alias}` target for each file in the `{K8sSourcesField.alias}` field.
60
        """
61
    )
62

63

UNCOV
64
class K8sBundleSourcesField(SpecialCasedDependencies):
2✔
UNCOV
65
    alias = "sources"
2✔
UNCOV
66
    help = "Files to deploy as a bundle"
2✔
67

68

UNCOV
69
class K8sBundleContextField(StringField):
2✔
UNCOV
70
    alias = "context"
2✔
UNCOV
71
    required = True
2✔
UNCOV
72
    help = "The kubectl context to use for deploy."
2✔
73

74

UNCOV
75
class K8sBundleDependenciesField(Dependencies):
2✔
UNCOV
76
    alias = "dependencies"
2✔
77

78

UNCOV
79
class K8sBundleTarget(Target):
2✔
UNCOV
80
    alias = "k8s_bundle"
2✔
UNCOV
81
    help = "A bundle of Kubernetes files."
2✔
UNCOV
82
    core_fields = (
2✔
83
        *COMMON_TARGET_FIELDS,
84
        K8sBundleSourcesField,
85
        K8sBundleContextField,
86
        K8sBundleDependenciesField,
87
    )
88

89

UNCOV
90
def target_types():
2✔
91
    return [
×
92
        K8sSourceTarget,
93
        K8sSourcesTargetGenerator,
94
        K8sBundleTarget,
95
    ]
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc