Skip to content

Commit 2b9dca9

Browse files
authored
Merge pull request #223 from gitpod-io/wv/fix-build-failure-report
Fix build failure reported as success
2 parents b68957b + cfe3e38 commit 2b9dca9

File tree

3 files changed

+20
-5
lines changed

3 files changed

+20
-5
lines changed

pkg/leeway/build.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ func (p *Package) buildDependencies(buildctx *buildContext) error {
631631
return g.Wait()
632632
}
633633

634-
func (p *Package) build(buildctx *buildContext) error {
634+
func (p *Package) build(buildctx *buildContext) (err error) {
635635
// Try to obtain lock for building this package
636636
doBuild := buildctx.ObtainBuildLock(p)
637637
if !doBuild {
@@ -663,7 +663,6 @@ func (p *Package) build(buildctx *buildContext) error {
663663
buildctx.Reporter.PackageBuildStarted(p)
664664

665665
// Ensure we notify reporter when build finishes
666-
var err error
667666
defer func() {
668667
pkgRep.Error = err
669668
buildctx.Reporter.PackageBuildFinished(p, pkgRep)

pkg/leeway/reporter.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ func (r *ConsoleReporter) PackageBuildFinished(pkg *Package, rep *PackageBuildRe
241241
if rep.TestCoverageAvailable {
242242
coverage = color.Sprintf("<fg=yellow>test coverage: %d%%</> <gray>(%d of %d functions have tests)</>\n", rep.TestCoveragePercentage, rep.FunctionsWithTest, rep.FunctionsWithTest+rep.FunctionsWithoutTest)
243243
}
244-
msg = color.Sprintf("%s<green>package build succeded</> <gray>(%.2fs)%s</>\n", coverage, dur.Seconds(), phaseDurStr)
244+
msg = color.Sprintf("%s<green>package build succeeded</> <gray>(%.2fs)%s</>\n", coverage, dur.Seconds(), phaseDurStr)
245245
}
246246
//nolint:errcheck
247247
io.WriteString(out, msg)

pkg/leeway/reporter_test.go

+18-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package leeway
22

33
import (
44
"bytes"
5+
"errors"
56
"testing"
67
"time"
78

@@ -64,7 +65,7 @@ func TestConsoleReporter(t *testing.T) {
6465
},
6566
Expect: Expectation{
6667
Output: `[test:test] build started (version unknown)
67-
[test:test] package build succeded (5.00s) [prep: 1.0s | pull: 1.0s | lint: 1.0s | test: 1.0s | build: 1.0s]
68+
[test:test] package build succeeded (5.00s) [prep: 1.0s | pull: 1.0s | lint: 1.0s | test: 1.0s | build: 1.0s]
6869
`,
6970
},
7071
},
@@ -78,7 +79,22 @@ func TestConsoleReporter(t *testing.T) {
7879
},
7980
Expect: Expectation{
8081
Output: `[test:test] build started (version unknown)
81-
[test:test] package build succeded (0.00s)
82+
[test:test] package build succeeded (0.00s)
83+
`,
84+
},
85+
},
86+
{
87+
Name: "failed build",
88+
Func: func(t *testing.T, r *ConsoleReporter) {
89+
r.PackageBuildStarted(pkg)
90+
r.PackageBuildFinished(pkg, &PackageBuildReport{
91+
Error: errors.New("failed"),
92+
})
93+
},
94+
Expect: Expectation{
95+
Output: `[test:test] build started (version unknown)
96+
[test:test] package build failed while preping
97+
[test:test] Reason: failed
8298
`,
8399
},
84100
},

0 commit comments

Comments
 (0)