diff options
| author | a1e7cb88 <[email protected]> | 2021-10-19 13:21:39 +0800 |
|---|---|---|
| committer | a1e7cb88 <[email protected]> | 2021-10-19 13:21:39 +0800 |
| commit | 9fd0b9515f53908f85bbb36f1c9063ee1384d55f (patch) | |
| tree | 012a236362a12fa14968cdc2038144fbb8c42992 | |
| parent | 5112be9876cc3f6372aa42e600e71aa94bf5b072 (diff) | |
| parent | 80cb2f9d5e3651c7c87aaef62a33a2f8de18f1e4 (diff) | |
Merge branch 'master' of github.com:KurenaiRyu/MkvAutoSubset
| -rw-r--r-- | .github/workflows/build.yml | 37 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 34 | ||||
| -rw-r--r-- | Makefile | 33 |
3 files changed, 104 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..70d7357 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: Build +on: + push: + branches: + - master + 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/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..d1d4dcc --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,34 @@ +name: Release +on: + create: + tags: + - v* + workflow_dispatch: + +jobs: + release: + name: Release on GitHub + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: 1.17 + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v2 + with: + # either 'goreleaser' (default) or 'goreleaser-pro' + distribution: goreleaser + version: latest + args: release --rm-dist + workdir: mkvtool + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution + # GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} 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 |
