dependencies #4557
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Go | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out code into the Go module directory | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Set up Go 1.23 | |
uses: actions/[email protected] | |
with: | |
go-version: 1.23.x | |
cache: false | |
id: go | |
#- name: Check out code into the Go module directory | |
#uses: actions/[email protected] | |
#- name: Lint code | |
# run: | | |
# gofiles=$(find ./ -name '*.go') && [ -z "$gofiles" ] || unformatted=$(goimports -l $gofiles) && [ -z "$unformatted" ] || (echo >&2 "Go files must be formatted with gofmt. Following files has problem: $unformatted" && true); | |
# diff <(echo -n) <(gofmt -s -d .) | |
# export PATH=$PATH:$(go env GOPATH)/bin # temporary fix. See https://github.com/actions/setup-go/issues/14 | |
# go get -u golang.org/x/lint/golint | |
# golint ./... | |
#- name: Cache | |
# uses: actions/[email protected] | |
# with: | |
# path: | | |
# ~/.cache/go-build | |
# ~/go/pkg/mod | |
# key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: | | |
# ${{ runner.os }}-go- | |
- name: submodule | |
run: git submodule update --init --recursive | |
# Check the format of code | |
- name: Check code formatting using gofmt | |
uses: Jerome1337/[email protected] | |
- name: Static code check | |
run: | | |
export PATH=$PATH:$(go env GOPATH)/bin | |
make -C solution cpu | |
go vet $(go list ./... | grep -v /cvm-runtime/) | |
- name: Build | |
run: make clean && make all | |
- name: CodeCov | |
run: | | |
export LD_LIBRARY_PATH=$PWD:$PWD/plugins:$LD_LIBRARY_PATH | |
GO111MODULE=on && go test $(go list ./... | grep -v /cvm-runtime/) -mod=vendor -coverprofile=coverage.txt -covermode=atomic | |
if [ -f coverage.txt ]; then | |
bash <(curl -s https://codecov.io/bash) | |
fi |