Skip to content

Commit

Permalink
provenance: move hermetic field into a correct struct
Browse files Browse the repository at this point in the history
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
  • Loading branch information
tonistiigi committed Dec 20, 2022
1 parent 4d4b56a commit 103a0a1
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 12 deletions.
4 changes: 2 additions & 2 deletions frontend/dockerfile/dockerfile_provenance_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ RUN echo "ok" > /foo

require.False(t, pred.Metadata.Completeness.Materials)
require.False(t, pred.Metadata.Reproducible)
require.False(t, pred.Metadata.Completeness.Hermetic)
require.False(t, pred.Metadata.Hermetic)

if mode == "max" || mode == "" {
require.Equal(t, 2, len(pred.Metadata.BuildKitMetadata.Layers))
Expand Down Expand Up @@ -347,8 +347,8 @@ COPY myapp.Dockerfile /
require.Equal(t, 0, len(pred.Invocation.Parameters.Locals))

require.True(t, pred.Metadata.Completeness.Materials)
require.True(t, pred.Metadata.Completeness.Hermetic)
require.True(t, pred.Metadata.Completeness.Environment)
require.True(t, pred.Metadata.Hermetic)

if isClient {
require.False(t, pred.Metadata.Completeness.Parameters)
Expand Down
15 changes: 5 additions & 10 deletions solver/llbsolver/provenance/predicate.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,13 +44,8 @@ type Environment struct {

type ProvenanceMetadata struct {
slsa02.ProvenanceMetadata
Completeness ProvenanceComplete `json:"completeness"`
BuildKitMetadata BuildKitMetadata `json:"https://mobyproject.org/buildkit@v1#metadata,omitempty"`
}

type ProvenanceComplete struct {
slsa02.ProvenanceComplete
Hermetic bool `json:"https://mobyproject.org/buildkit@v1#hermetic,omitempty"`
BuildKitMetadata BuildKitMetadata `json:"https://mobyproject.org/buildkit@v1#metadata,omitempty"`
Hermetic bool `json:"https://mobyproject.org/buildkit@v1#hermetic,omitempty"`
}

type BuildKitMetadata struct {
Expand Down Expand Up @@ -211,14 +206,14 @@ func NewPredicate(c *Capture) (*ProvenancePredicate, error) {
Materials: materials,
},
Metadata: &ProvenanceMetadata{
Completeness: ProvenanceComplete{
ProvenanceComplete: slsa02.ProvenanceComplete{
ProvenanceMetadata: slsa02.ProvenanceMetadata{
Completeness: slsa02.ProvenanceComplete{
Parameters: c.Frontend != "",
Environment: true,
Materials: !incompleteMaterials,
},
Hermetic: !incompleteMaterials && !c.NetworkAccess,
},
Hermetic: !incompleteMaterials && !c.NetworkAccess,
},
}

Expand Down

0 comments on commit 103a0a1

Please sign in to comment.