From 56f71cc23567002c1cba030df73827c96c1b8bbd Mon Sep 17 00:00:00 2001 From: Kurenai Date: Tue, 19 Oct 2021 11:37:35 +0800 Subject: Add workflow build config --- .github/workflows/build.yml | 37 +++++++++++++++++++++++++++++++++++++ Makefile | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 .github/workflows/build.yml create mode 100644 Makefile diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..a2a001d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: Build +on: + push: + branches: + - workflow-demo + workflow_dispatch: + pull_request: + +jobs: + + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: 1.12 + + - name: Check out code + uses: actions/checkout@v1 + + - name: Lint Go Code + run: | + 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 + make lint + + build: + name: Build + runs-on: ubuntu-latest + needs: [lint] + steps: + - name: Set up Go + uses: actions/setup-go@v1 + with: + go-version: 1.12 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..68c90d7 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +PROJECT_NAME := "MkvAutoSubset" +PKG := "$(PROJECT_NAME)" +PKG_LIST := $(shell go list ${PKG}/... | grep -v /vendor/) +GO_FILES := $(shell find . -name '*.go' | grep -v /vendor/ | grep -v _test.go) + +.PHONY: all dep lint vet test test-coverage build clean + +all: build + +dep: ## Get the dependencies + @go mod download + +lint: ## Lint Golang files + @golint -set_exit_status ${PKG_LIST} + +vet: ## Run go vet + @go vet ${PKG_LIST} + +test: ## Run unittests + @go test -short ${PKG_LIST} + +test-coverage: ## Run tests with coverage + @go test -short -coverprofile cover.out -covermode=atomic ${PKG_LIST} + @cat cover.out >> coverage.txt + +build: dep ## Build the binary file + @go build -i -o build/main $(PKG) + +clean: ## Remove previous build + @rm -f ./build + +help: ## Display this help screen + @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' \ No newline at end of file -- cgit v1.2.1 From bcbfb790858ce9f6afcc3eeaa4f66cfd9dc7f9e7 Mon Sep 17 00:00:00 2001 From: Kurenai Date: Tue, 19 Oct 2021 12:16:43 +0800 Subject: Add workflow release config --- .github/workflows/release.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1e89ee8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,26 @@ +name: Release +on: + create: + tags: + - v* + workflow_dispatch: + +jobs: + release: + name: Release on GitHub + runs-on: ubuntu-latest + steps: + - name: Check out code + uses: actions/checkout@v1 + + - name: Validates GO releaser config + uses: docker://goreleaser/goreleaser:latest + with: + args: check + + - name: Create release on GitHub + uses: docker://goreleaser/goreleaser:latest + with: + args: release + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} \ No newline at end of file -- cgit v1.2.1