mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-06-26 18:18:24 +00:00
[no-relnote] Enable CodeCov
Some checks are pending
Some checks are pending
Signed-off-by: Carlos Eduardo Arango Gutierrez <eduardoa@nvidia.com>
This commit is contained in:
parent
be6a36c023
commit
4be0b656b3
21
.github/workflows/golang.yaml
vendored
21
.github/workflows/golang.yaml
vendored
@ -30,54 +30,73 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
name: Checkout code
|
name: Checkout code
|
||||||
|
|
||||||
- name: Get Golang version
|
- name: Get Golang version
|
||||||
id: vars
|
id: vars
|
||||||
run: |
|
run: |
|
||||||
GOLANG_VERSION=$(./hack/golang-version.sh)
|
GOLANG_VERSION=$(./hack/golang-version.sh)
|
||||||
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION := }" >> $GITHUB_ENV
|
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION := }" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOLANG_VERSION }}
|
go-version: ${{ env.GOLANG_VERSION }}
|
||||||
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
uses: golangci/golangci-lint-action@v8
|
uses: golangci/golangci-lint-action@v8
|
||||||
with:
|
with:
|
||||||
version: latest
|
version: latest
|
||||||
args: -v --timeout 5m
|
args: -v --timeout 5m
|
||||||
skip-cache: true
|
skip-cache: true
|
||||||
|
|
||||||
- name: Check golang modules
|
- name: Check golang modules
|
||||||
run: |
|
run: |
|
||||||
make check-vendor
|
make check-vendor
|
||||||
make -C deployments/devel check-modules
|
make -C deployments/devel check-modules
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Unit test
|
name: Unit test
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Golang version
|
- name: Get Golang version
|
||||||
id: vars
|
id: vars
|
||||||
run: |
|
run: |
|
||||||
GOLANG_VERSION=$(./hack/golang-version.sh)
|
GOLANG_VERSION=$(./hack/golang-version.sh)
|
||||||
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION := }" >> $GITHUB_ENV
|
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION := }" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOLANG_VERSION }}
|
go-version: ${{ env.GOLANG_VERSION }}
|
||||||
- run: make test
|
|
||||||
|
- name: Generate coverage report
|
||||||
|
run: make cov-report
|
||||||
|
|
||||||
|
- name: Upload to Coveralls
|
||||||
|
uses: coverallsapp/github-action@v2
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
path-to-lcov: lcov.info
|
||||||
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Get Golang version
|
- name: Get Golang version
|
||||||
id: vars
|
id: vars
|
||||||
run: |
|
run: |
|
||||||
GOLANG_VERSION=$(./hack/golang-version.sh)
|
GOLANG_VERSION=$(./hack/golang-version.sh)
|
||||||
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION ?= }" >> $GITHUB_ENV
|
echo "GOLANG_VERSION=${GOLANG_VERSION##GOLANG_VERSION ?= }" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v5
|
uses: actions/setup-go@v5
|
||||||
with:
|
with:
|
||||||
go-version: ${{ env.GOLANG_VERSION }}
|
go-version: ${{ env.GOLANG_VERSION }}
|
||||||
|
|
||||||
- run: make build
|
- run: make build
|
||||||
|
|||||||
26
Makefile
26
Makefile
@ -39,7 +39,7 @@ CMDS := $(patsubst ./cmd/%/,%,$(sort $(dir $(wildcard ./cmd/*/))))
|
|||||||
CMD_TARGETS := $(patsubst %,cmd-%, $(CMDS))
|
CMD_TARGETS := $(patsubst %,cmd-%, $(CMDS))
|
||||||
|
|
||||||
CHECK_TARGETS := lint
|
CHECK_TARGETS := lint
|
||||||
MAKE_TARGETS := binaries build check fmt test examples cmds coverage generate licenses vendor check-vendor $(CHECK_TARGETS)
|
MAKE_TARGETS := binaries build check fmt test cov-report gcov2lcov examples cmds coverage generate licenses vendor check-vendor $(CHECK_TARGETS)
|
||||||
|
|
||||||
TARGETS := $(MAKE_TARGETS) $(EXAMPLE_TARGETS) $(CMD_TARGETS)
|
TARGETS := $(MAKE_TARGETS) $(EXAMPLE_TARGETS) $(CMD_TARGETS)
|
||||||
|
|
||||||
@ -67,6 +67,24 @@ endif
|
|||||||
$(CMD_TARGETS): cmd-%:
|
$(CMD_TARGETS): cmd-%:
|
||||||
go build -ldflags "-s -w '-extldflags=$(EXTLDFLAGS)' -X $(CLI_VERSION_PACKAGE).gitCommit=$(GIT_COMMIT) -X $(CLI_VERSION_PACKAGE).version=$(CLI_VERSION)" $(COMMAND_BUILD_OPTIONS) $(MODULE)/cmd/$(*)
|
go build -ldflags "-s -w '-extldflags=$(EXTLDFLAGS)' -X $(CLI_VERSION_PACKAGE).gitCommit=$(GIT_COMMIT) -X $(CLI_VERSION_PACKAGE).version=$(CLI_VERSION)" $(COMMAND_BUILD_OPTIONS) $(MODULE)/cmd/$(*)
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
TOOLSDIR=$(CURDIR)/bin
|
||||||
|
GCOV2LCOV ?= $(TOOLSDIR)/gcov2lcov
|
||||||
|
GCOV2LCOV_VERSION ?= v1.1.1
|
||||||
|
|
||||||
|
# Define the go-install-tool function
|
||||||
|
define go-install-tool
|
||||||
|
@[ -f $(1) ] || { \
|
||||||
|
set -e ;\
|
||||||
|
TMP_DIR=$$(mktemp -d) ;\
|
||||||
|
cd $$TMP_DIR ;\
|
||||||
|
go mod init tmp ;\
|
||||||
|
echo "Downloading $(2)" ;\
|
||||||
|
GOBIN=$(TOOLSDIR) go install $(2) ;\
|
||||||
|
rm -rf $$TMP_DIR ;\
|
||||||
|
}
|
||||||
|
endef
|
||||||
|
|
||||||
build:
|
build:
|
||||||
go build ./...
|
go build ./...
|
||||||
|
|
||||||
@ -128,6 +146,12 @@ coverage: test
|
|||||||
cat $(COVERAGE_FILE) | grep -v "_mock.go" > $(COVERAGE_FILE).no-mocks
|
cat $(COVERAGE_FILE) | grep -v "_mock.go" > $(COVERAGE_FILE).no-mocks
|
||||||
go tool cover -func=$(COVERAGE_FILE).no-mocks
|
go tool cover -func=$(COVERAGE_FILE).no-mocks
|
||||||
|
|
||||||
|
cov-report: gcov2lcov test ## Build test coverage report in lcov format
|
||||||
|
$(GCOV2LCOV) -infile coverage.out -outfile lcov.info
|
||||||
|
|
||||||
|
gcov2lcov: ## Download gcov2lcov locally if necessary.
|
||||||
|
$(call go-install-tool,$(GCOV2LCOV),github.com/jandelgado/gcov2lcov@$(GCOV2LCOV_VERSION))
|
||||||
|
|
||||||
generate:
|
generate:
|
||||||
go generate $(MODULE)/...
|
go generate $(MODULE)/...
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user