diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml index 1e826ce1..ecedd36e 100644 --- a/.github/workflows/common.yml +++ b/.github/workflows/common.yml @@ -55,7 +55,7 @@ jobs: path: | ${{ env.GOCACHE }} ${{ env.GOMODCACHE }} - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + key: ${{ runner.os }}-go-${{ inputs.ref }} restore-keys: | ${{ runner.os }}-go- - name: make ${{ inputs.target }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c4af4896..096916e3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -36,18 +36,9 @@ jobs: target: "cmd" all_platform: true - build: - if: ${{ github.event_name != 'push' }} - needs: cmd - uses: ./.github/workflows/common.yml - with: - debug: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug }} - ref: ${{ inputs.ref || github.ref }} - target: "build" - lint: if: ${{ github.event_name != 'push' }} - needs: build + needs: cmd uses: ./.github/workflows/common.yml with: debug: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug }} @@ -56,7 +47,7 @@ jobs: test: if: ${{ github.event_name != 'push' }} - needs: build + needs: cmd uses: ./.github/workflows/common.yml with: debug: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug }} diff --git a/Makefile b/Makefile index ebb89105..791eb869 100644 --- a/Makefile +++ b/Makefile @@ -30,26 +30,30 @@ endif IMAGE_TAG ?= latest EXECUTABLE_TARGETS := $(patsubst cmd/%,cmd_%,$(wildcard cmd/*)) -.PHONY: cmd_% build test docker ./bin/golangci-lint ./bin/gocovmerge +.PHONY: cmd_% test lint docker golangci-lint gocovmerge default: cmd -cmd: $(EXECUTABLE_TARGETS) +dev: cmd lint test -build: cmd - go build $(BUILDFLAGS) ./... - cd lib && go build $(BUILDFLAGS) ./... +cmd: $(EXECUTABLE_TARGETS) cmd_%: OUTPUT=$(patsubst cmd_%,./bin/%,$@) cmd_%: SOURCE=$(patsubst cmd_%,./cmd/%,$@) cmd_%: go build $(BUILDFLAGS) -o $(OUTPUT) $(SOURCE) -lint: ./bin/golangci-lint +golangci-lint: + GOBIN=$(GOBIN) go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest + +lint: golangci-lint $(GOBIN)/golangci-lint run cd lib && $(GOBIN)/golangci-lint run -test: ./bin/gocovmerge +gocovmerge: + GOBIN=$(GOBIN) go install github.com/wadey/gocovmerge@master + +test: gocovmerge rm -f .cover.* go test -coverprofile=.cover.pkg ./... cd lib && go test -coverprofile=../.cover.lib ./... @@ -57,11 +61,5 @@ test: ./bin/gocovmerge rm -f .cover.* go tool cover -html=.cover -o .cover.html -./bin/golangci-lint: - GOBIN=$(GOBIN) go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest - -./bin/gocovmerge: - GOBIN=$(GOBIN) go install github.com/wadey/gocovmerge@master - docker: docker build $(DOCKERFLAG) -t "tiproxy:${IMAGE_TAG}" --build-arg='GOPROXY=$(shell go env GOPROXY),BUILDFLAGS=$(BUILDFLAGS),' -f docker/Dockerfile .