diff --git a/.github/workflows/pullRequest.yml b/.github/workflows/pullRequest.yml new file mode 100644 index 00000000..33d2cfb0 --- /dev/null +++ b/.github/workflows/pullRequest.yml @@ -0,0 +1,33 @@ +--- +name: pull_request +"on": [pull_request] +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.14 + uses: actions/setup-go@v1 + with: + go-version: 1.14 + id: go + + - name: Check out code + uses: actions/checkout@v1 + + - name: Install dependencies + run: | + sudo apt-get install -y \ + libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libsdl2-dev libasound2-dev \ + > /dev/null 2>&1 + + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v1.2.1 + with: + version: v1.27 + + - name: Run tests + run: go test -v -race ./... + + - name: Build binary + run: go build . diff --git a/.github/workflows/pushToMaster.yml b/.github/workflows/pushToMaster.yml new file mode 100644 index 00000000..56ed3c4d --- /dev/null +++ b/.github/workflows/pushToMaster.yml @@ -0,0 +1,36 @@ +--- +name: build +"on": + push: + branches: + - master +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.14 + uses: actions/setup-go@v1 + with: + go-version: 1.14 + id: go + + - name: Check out code + uses: actions/checkout@v1 + + - name: Install dependencies + run: | + sudo apt-get install -y \ + libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libsdl2-dev libasound2-dev \ + > /dev/null 2>&1 + + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v1.2.1 + with: + version: v1.27 + + - name: Run tests + run: go test -v -race ./... + + - name: Build binary + run: go build . diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..bb4b23fa --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,88 @@ +--- +linters-settings: + dupl: + threshold: 100 + funlen: + lines: 100 + statements: 50 + goconst: + min-len: 2 + min-occurrences: 2 + gocritic: + enabled-tags: + - diagnostic + - experimental + - opinionated + - performance + - style + disabled-checks: + gocyclo: + min-complexity: 15 + goimports: + local-prefixes: github.com/OpenDiablo2/OpenDiablo2 + golint: + min-confidence: 0.8 + govet: + check-shadowing: true + lll: + line-length: 140 + maligned: + suggest-new: true + misspell: + locale: US + +linters: + disable-all: true + enable: + - bodyclose + - deadcode + - depguard + - dogsled + - dupl + - errcheck + - funlen + - gochecknoglobals + - gochecknoinits + - gocognit + - goconst + - gocritic + - gocyclo + - godox + - gofmt + - goimports + - golint + - gomnd + - goprintffuncname + - gosec + - gosimple + - govet + - ineffassign + - interfacer + - lll + - maligned + - misspell + - nakedret + - prealloc + - rowserrcheck + - scopelint + - staticcheck + - structcheck + - stylecheck + - typecheck + - unconvert + - unparam + - unused + - varcheck + - whitespace + - wsl + +run: + timeout: 5m + skip-dirs: + - .github + - build + - web + +issues: + max-same-issues: 0 + exclude-use-default: false diff --git a/go.mod b/go.mod index bf5476a1..98fd5449 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/OpenDiablo2/OpenDiablo2 -go 1.12 +go 1.14 require ( github.com/JoshVarga/blast v0.0.0-20180421040937-681c804fb9f0