<分区>
我已经为我的 Github 项目设置了 travis build Captain
.travis.yml
的内容是:
language: go
go:
- 1.12.x
script:
make
env:
- GO111MODULE=on GOPROXY=https://proxy.golang.org
我的 Makefile
的内容是:
# Go parameters
BINARY_FOLDER=./bin
GOCMD=go
GOBUILD=$(GOCMD) build
GOCLEAN=$(GOCMD) clean
GOTEST=$(GOCMD) test
GOGET=$(GOCMD) get
BINARY_NAME=captain
BINARY_UNIX=$(BINARY_NAME)_unix
all: test build
build:
$(GOBUILD) -o $(BINARY_FOLDER)/$(BINARY_NAME) ./cmd/...
test:
$(GOTEST) -v ./...
clean:
rm -rf $(BINARY_FOLDER)
run: all
$(BINARY_FOLDER)/$(BINARY_NAME)
# Cross compilation
build-linux:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_UNIX) -v
docker-build:
docker run --rm -it -v "$(GOPATH)":/go -w /go/src/bitbucket.org/rsohlich/makepost golang:latest go build -o "$(BINARY_UNIX)" -v
每当 travis 构建触发时,它会出错:
go test -v ./...
go: finding github.com/gorilla/mux v1.7.3
go: finding github.com/lib/pq v1.2.0
go: finding github.com/google/uuid v1.1.1
go: finding github.com/DATA-DOG/go-sqlmock v1.3.3
go: downloading github.com/DATA-DOG/go-sqlmock v1.3.3
go: downloading github.com/lib/pq v1.2.0
go: extracting github.com/DATA-DOG/go-sqlmock v1.3.3
go: extracting github.com/lib/pq v1.2.0
# github.com/alwindoss/captain/cmd/captain
cmd/captain/main.go:4:2: undefined: Run
=== RUN TestCreateWorklistPositiveScenario
2019/08/10 14:56:19 Creating Worklist
2019/08/10 14:56:19 {"id": "ID", "name": "name"}
2019/08/10 14:56:19 Creating worklist in the RDBMS Store
2019/08/10 14:56:19 Last Inserted ID: 1
2019/08/10 14:56:19 ID = 1, affected = 1
--- PASS: TestCreateWorklistPositiveScenario (0.00s)
=== RUN TestCreateWorklistWhenBadRequestIsSent
2019/08/10 14:56:19 Creating Worklist
2019/08/10 14:56:19 This is a bad request
--- PASS: TestCreateWorklistWhenBadRequestIsSent (0.00s)
PASS
ok github.com/alwindoss/captain/internal/handler 0.005s
Makefile:15: recipe for target 'test' failed
make: *** [test] Error 2
在作业日志中,我看到我的所有测试都通过了,但构建并没有超出此范围。完全相同的 Makefile
在我的 Mac 上本地运行没有问题。
我不确定问题出在哪里。在 Makefile 中或以我配置 Travis CI 的方式。