Skip to content

Commit 535d644

Browse files
committed
add all step
1 parent ee5266e commit 535d644

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

ci/main.go

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ import (
2222

2323
type Ci struct{}
2424

25+
type Results struct {
26+
LintOutput string
27+
SecurityScan *dagger.File
28+
VulnerabilityScan *dagger.File
29+
Image *dagger.Container
30+
}
31+
2532
// Returns a Container built from the Dockerfile in the provided Directory
2633
func (m *Ci) Build(_ context.Context, dir *dagger.Directory) *dagger.Container {
2734
return dag.Container().Build(dir)
@@ -34,7 +41,7 @@ func (m *Ci) Lint(ctx context.Context, dir *dagger.Directory) (string, error) {
3441
WithMountedDirectory("/mnt", dir).
3542
WithWorkdir("/mnt").
3643
WithExec([]string{"gem", "install", "haml-lint"}).
37-
WithExec([]string{"haml-lint", "--reporter", "json", "."}).
44+
WithExec([]string{"haml-lint", "-r", "json", "."}).
3845
Stdout(ctx)
3946
}
4047

@@ -128,3 +135,17 @@ func (m *Ci) Vulnscan(ctx context.Context, sbom *dagger.File) *dagger.File {
128135

129136
return trivy.Sbom(sbom).Report("json")
130137
}
138+
139+
// Executes all the steps and returns a Results object
140+
func (m *Ci) Ci(ctx context.Context, dir *dagger.Directory) *Results {
141+
lintOutput, _ := m.Lint(ctx, dir)
142+
securityScan := m.Sast(ctx, dir)
143+
vulnerabilityScan := m.Vulnscan(ctx, m.SbomBuild(ctx, dir))
144+
image := m.Build(ctx, dir)
145+
return &Results{
146+
LintOutput: lintOutput,
147+
SecurityScan: securityScan,
148+
VulnerabilityScan: vulnerabilityScan,
149+
Image: image,
150+
}
151+
}

0 commit comments

Comments
 (0)