Update github actions ci to use Makefile
Signed-off-by: Derek McGowan <derek@mcg.dev>
This commit is contained in:
parent
fe03193c28
commit
99a30d2437
31
.github/workflows/ci.yml
vendored
31
.github/workflows/ci.yml
vendored
@ -84,12 +84,12 @@ jobs:
|
||||
- name: Test
|
||||
working-directory: src/github.com/containerd/ttrpc
|
||||
run: |
|
||||
go test -v -race -coverprofile=coverage_txt -covermode=atomic ./...
|
||||
make coverage TESTFLAGS_RACE=-race
|
||||
|
||||
- name: Code Coverage
|
||||
uses: codecov/codecov-action@v2
|
||||
with:
|
||||
files: coverage_txt
|
||||
files: coverage.txt
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
|
||||
#
|
||||
@ -119,27 +119,18 @@ jobs:
|
||||
path: src/github.com/containerd/ttrpc
|
||||
fetch-depth: 25
|
||||
|
||||
- name: Install protoc
|
||||
run: |
|
||||
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.5.0/protoc-3.5.0-linux-x86_64.zip
|
||||
sudo unzip -x protoc-3.5.0-linux-x86_64.zip -d /usr/local
|
||||
sudo chmod -R go+rX /usr/local/include
|
||||
sudo chmod go+x /usr/local/bin/protoc
|
||||
|
||||
- name: Install protoc-gen-go
|
||||
run: |
|
||||
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1
|
||||
|
||||
- name: Build protoc-gen-go-ttrpc
|
||||
- name: Install dependencies
|
||||
working-directory: src/github.com/containerd/ttrpc
|
||||
run: |
|
||||
go build ./cmd/protoc-gen-go-ttrpc
|
||||
sudo make install-protobuf
|
||||
make install-protobuild
|
||||
|
||||
- name: Install protoc-gen-go-ttrpc
|
||||
working-directory: src/github.com/containerd/ttrpc
|
||||
run: |
|
||||
make install
|
||||
|
||||
- name: Run Protobuild
|
||||
working-directory: src/github.com/containerd/ttrpc
|
||||
run: |
|
||||
export PATH=$GOPATH/bin:$PWD:$PATH
|
||||
go install github.com/containerd/protobuild@7e5ee24bc1f70e9e289fef15e2631eb3491320bf
|
||||
protobuild
|
||||
(cd example && protobuild)
|
||||
git diff --exit-code
|
||||
make check-protos
|
||||
|
25
Makefile
25
Makefile
@ -33,7 +33,8 @@ GO_BUILDTAGS ?=
|
||||
GO_TAGS=$(if $(GO_BUILDTAGS),-tags "$(strip $(GO_BUILDTAGS))",)
|
||||
|
||||
# Project packages.
|
||||
PACKAGES=$(shell $(GO) list ${GO_TAGS} ./... | grep -v /integration | grep -v /example)
|
||||
PACKAGES=$(shell $(GO) list ${GO_TAGS} ./... | grep -v /example)
|
||||
TESTPACKAGES=$(shell $(GO) list ${GO_TAGS} ./... | grep -v /cmd | grep -v /integration | grep -v /example)
|
||||
BINPACKAGES=$(addprefix ./cmd/,$(COMMANDS))
|
||||
|
||||
#Replaces ":" (*nix), ";" (windows) with newline for easy parsing
|
||||
@ -56,7 +57,7 @@ TESTFLAGS_PARALLEL ?= 8
|
||||
# Use this to replace `go test` with, for instance, `gotestsum`
|
||||
GOTEST ?= $(GO) test
|
||||
|
||||
.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install vendor install-deps
|
||||
.PHONY: clean all AUTHORS build binaries test integration generate protos checkprotos coverage ci check help install vendor install-protobuf install-protobuild
|
||||
.DEFAULT: default
|
||||
|
||||
# Forcibly set the default goal to all, in case an include above brought in a rule definition.
|
||||
@ -106,11 +107,11 @@ build: ## build the go packages
|
||||
|
||||
test: ## run tests, except integration tests and tests that require root
|
||||
@echo "$(WHALE) $@"
|
||||
@$(GOTEST) ${TESTFLAGS} ${PACKAGES}
|
||||
@$(GOTEST) ${TESTFLAGS} ${TESTPACKAGES}
|
||||
|
||||
#integration: ## run integration tests
|
||||
# @echo "$(WHALE) $@"
|
||||
# @cd "${ROOTDIR}/integration" && $(GO) mod download && $(GOTEST) -v ${TESTFLAGS} -parallel ${TESTFLAGS_PARALLEL} .
|
||||
integration: ## run integration tests
|
||||
@echo "$(WHALE) $@"
|
||||
@cd "${ROOTDIR}/integration" && $(GOTEST) -v ${TESTFLAGS} -parallel ${TESTFLAGS_PARALLEL} .
|
||||
|
||||
benchmark: ## run benchmarks tests
|
||||
@echo "$(WHALE) $@"
|
||||
@ -138,13 +139,19 @@ install: ## install binaries
|
||||
@echo "$(WHALE) $@ $(BINPACKAGES)"
|
||||
@$(GO) install $(BINPACKAGES)
|
||||
|
||||
install-deps:
|
||||
script/install-protobuf
|
||||
install-protobuf:
|
||||
@echo "$(WHALE) $@"
|
||||
@script/install-protobuf
|
||||
|
||||
install-protobuild:
|
||||
@echo "$(WHALE) $@"
|
||||
@$(GO) install google.golang.org/protobuf/cmd/protoc-gen-go@v1.27.1
|
||||
@$(GO) install github.com/containerd/protobuild@7e5ee24bc1f70e9e289fef15e2631eb3491320bf
|
||||
|
||||
coverage: ## generate coverprofiles from the unit tests, except tests that require root
|
||||
@echo "$(WHALE) $@"
|
||||
@rm -f coverage.txt
|
||||
@$(GO) test -i ${TESTFLAGS} ${PACKAGES} 2> /dev/null
|
||||
@$(GO) test -i ${TESTFLAGS} ${TESTPACKAGES} 2> /dev/null
|
||||
@( for pkg in ${PACKAGES}; do \
|
||||
$(GO) test ${TESTFLAGS} \
|
||||
-cover \
|
||||
|
Loading…
Reference in New Issue
Block a user