From a47f4dfc539931998d683780e1943ed6928ab5a5 Mon Sep 17 00:00:00 2001 From: free5gc-org <free5gc.org@gmail.com> Date: Fri, 30 Jul 2021 15:30:58 +0000 Subject: [PATCH] feat(webconsole): Add GitHub Action Fix .golangci.yml for gci local-prefix Add GitHub action for golangci-lint to check coding style. Accorading to https://github.com/marketplace/actions/run-golangci-lint. Add GitHub action for go build and go test CI --- .github/workflows/go.yml | 25 +++++++++++++++++++++ .github/workflows/golangci-lint.yml | 34 +++++++++++++++++++++++++++++ .golangci.yml | 26 ++++++++++++++++++++-- 3 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/go.yml create mode 100644 .github/workflows/golangci-lint.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml new file mode 100644 index 0000000..babf3d3 --- /dev/null +++ b/.github/workflows/go.yml @@ -0,0 +1,25 @@ +name: Go + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Set up Go + uses: actions/setup-go@v2 + with: + go-version: '1.14.4' + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... diff --git a/.github/workflows/golangci-lint.yml b/.github/workflows/golangci-lint.yml new file mode 100644 index 0000000..72f27e4 --- /dev/null +++ b/.github/workflows/golangci-lint.yml @@ -0,0 +1,34 @@ +name: golangci-lint + +on: + push: + tags: + - v* + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Run golangci-lint + uses: golangci/golangci-lint-action@v2 + with: + # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. + version: v1.35.0 + + # Optional: working directory, useful for monorepos + # working-directory: somedir + + # Optional: golangci-lint command line arguments. + # args: --issues-exit-code=0 + + # Optional: show only new issues if it's a pull request. The default value is `false`. + # only-new-issues: true + + # Optional: if set to true then the action will use pre-installed Go + # skip-go-installation: true diff --git a/.golangci.yml b/.golangci.yml index ea34bc6..fbb3db5 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -204,10 +204,32 @@ linters-settings: multi-if: false # Enforces newlines (or comments) after every multi-line if statement multi-func: false # Enforces newlines (or comments) after every multi-line function signature gci: - local-prefixes: "bitbucket.org" + local-prefixes: "github.com/free5gc" misspell: #locale: US ignore-words: + whitespace: + multi-if: false # Enforces newlines (or comments) after every multi-line if statement + multi-func: false # Enforces newlines (or comments) after every multi-line function signature + wsl: + # If true append is only allowed to be cuddled if appending value is + # matching variables, fields or types on line above. Default is true. + strict-append: true + # Allow calls and assignments to be cuddled as long as the lines have any + # matching variables, fields or types. Default is true. + allow-assign-and-call: true + # Allow multiline assignments to be cuddled. Default is true. + allow-multiline-assign: true + # Allow declarations (var) to be cuddled. + allow-cuddle-declarations: false + # Allow trailing comments in ending of blocks + allow-trailing-comment: true + # Force newlines in end of case at this limit (0 = never). + force-case-trailing-whitespace: 0 + # Force cuddling of err checks with err var assignment + force-err-cuddling: false + # Allow leading comments to be separated with empty liens + allow-separated-leading-comment: false custom: # Each custom linter should have a unique name. @@ -246,7 +268,7 @@ linters: - asciicheck #- stylecheck # - unparam - #- wsl + # - wsl #disable-all: false fast: true -- GitLab