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

pantsbuild / pants / 18913303678

29 Oct 2025 03:29PM UTC coverage: 80.004% (-0.3%) from 80.283%
18913303678

push

github

web-flow
Updating 3rd party lockfiles for PBS script and MyPy (#22796)

Also small bumps to fastapi and starlette, which updated over the last few days. Starlette updated for features, and then a security vulnerability.

Fastapi bumped just for starlette.

88 of 93 new or added lines in 73 files covered. (94.62%)

221 existing lines in 15 files now uncovered.

77334 of 96663 relevant lines covered (80.0%)

5.2 hits per line

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

77.78
/src/python/pants/backend/helm/goals/package.py
1
# Copyright 2022 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

4
from __future__ import annotations
2✔
5

6
import logging
2✔
7
import os
2✔
8
from dataclasses import dataclass
2✔
9

10
from pants.backend.helm.target_types import HelmChartFieldSet, HelmChartOutputPathField
2✔
11
from pants.backend.helm.util_rules.chart import HelmChartRequest, get_helm_chart
2✔
12
from pants.backend.helm.util_rules.chart_metadata import HelmChartMetadata
2✔
13
from pants.backend.helm.util_rules.tool import HelmProcess
2✔
14
from pants.core.goals.package import BuiltPackage, BuiltPackageArtifact, PackageFieldSet
2✔
15
from pants.engine.fs import AddPrefix, CreateDigest, Directory, RemovePrefix
2✔
16
from pants.engine.intrinsics import create_digest, digest_to_snapshot, remove_prefix
2✔
17
from pants.engine.process import execute_process_or_raise
2✔
18
from pants.engine.rules import collect_rules, concurrently, implicitly, rule
2✔
19
from pants.engine.unions import UnionRule
2✔
20
from pants.util.logging import LogLevel
2✔
21

22
logger = logging.getLogger(__name__)
2✔
23

24

25
@dataclass(frozen=True)
2✔
26
class BuiltHelmArtifact(BuiltPackageArtifact):
2✔
27
    info: HelmChartMetadata | None = None
2✔
28

29
    @classmethod
2✔
30
    def create(cls, relpath: str, info: HelmChartMetadata) -> BuiltHelmArtifact:
2✔
UNCOV
31
        return cls(
×
32
            relpath=relpath,
33
            info=info,
34
            extra_log_lines=(f"Built Helm chart artifact: {relpath}",),
35
        )
36

37

38
@dataclass(frozen=True)
2✔
39
class HelmPackageFieldSet(HelmChartFieldSet, PackageFieldSet):
2✔
40
    output_path: HelmChartOutputPathField
2✔
41

42

43
@rule(desc="Package Helm chart", level=LogLevel.DEBUG)
2✔
44
async def run_helm_package(field_set: HelmPackageFieldSet) -> BuiltPackage:
2✔
45
    result_dir = "__out"
×
46

47
    chart, result_digest = await concurrently(
×
48
        get_helm_chart(HelmChartRequest(field_set), **implicitly()),
49
        create_digest(CreateDigest([Directory(result_dir)])),
50
    )
51

52
    process_output_file = os.path.join(result_dir, f"{chart.info.artifact_name}.tgz")
×
53

54
    process_result = await execute_process_or_raise(
×
55
        **implicitly(
56
            HelmProcess(
57
                argv=["package", chart.name, "-d", result_dir],
58
                input_digest=result_digest,
59
                extra_immutable_input_digests=chart.immutable_input_digests,
60
                output_files=(process_output_file,),
61
                description=f"Packaging Helm chart: {field_set.address}",
62
            )
63
        )
64
    )
65

66
    stripped_output_digest = await remove_prefix(
×
67
        RemovePrefix(process_result.output_digest, result_dir)
68
    )
69

70
    final_snapshot = await digest_to_snapshot(
×
71
        **implicitly(
72
            AddPrefix(
73
                stripped_output_digest, field_set.output_path.value_or_default(file_ending=None)
74
            )
75
        )
76
    )
77
    return BuiltPackage(
×
78
        final_snapshot.digest,
79
        artifacts=tuple(
80
            BuiltHelmArtifact.create(file, chart.info) for file in final_snapshot.files
81
        ),
82
    )
83

84

85
def rules():
2✔
86
    return [*collect_rules(), UnionRule(PackageFieldSet, HelmPackageFieldSet)]
2✔
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