This is an automated email from the ASF dual-hosted git repository. albumenj pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/dubbo-go-contrib.git
commit 9a2b28112f7c782c3c383e2e90401dfab60c6186 Author: Albumen Kevin <[email protected]> AuthorDate: Thu Jun 8 17:48:18 2023 +0800 Initial Commit --- .asf.yaml | 43 ++++++++++++++++ .github/workflows/license.yml | 117 ++++++++++++++++++++++++++++++++++++++++++ .licenserc.yaml | 77 +++++++++++++++++++++++++++ README.md | 1 + go.mod | 3 ++ 5 files changed, 241 insertions(+) diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 0000000..33ff4d7 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,43 @@ +# +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# + +notifications: + commits: [email protected] + issues: [email protected] + pullrequests: [email protected] + jira_options: link label link label + +github: + homepage: https://dubbo.apache.org/ + features: + # Enable wiki for documentation + wiki: true + # Enable issue management + issues: true + # Enable projects for project management boards + projects: true + protected_branches: + main: + # only disable force push + foo: bar + labels: + - go + - microservices + - rpc + - dubbo \ No newline at end of file diff --git a/.github/workflows/license.yml b/.github/workflows/license.yml new file mode 100644 index 0000000..70b6740 --- /dev/null +++ b/.github/workflows/license.yml @@ -0,0 +1,117 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# +name: Continues Integration + +on: [push, pull_request, workflow_dispatch] + +permissions: + contents: read + +jobs: + license-check: + name: License Check + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.x + uses: actions/setup-go@v2 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + + - name: Check License Header + uses: apache/skywalking-eyes/header@main + + golangci: + name: lint + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.x + uses: actions/setup-go@v2 + id: go + - uses: actions/checkout@v3 + - name: golangci-lint + uses: golangci/golangci-lint-action@v3 + with: + version: latest + # Optional: golangci-lint command line arguments. + args: --timeout=30m -v --disable-all --enable=gofumpt --enable=govet --enable=staticcheck --enable=ineffassign --enable=misspell + + unit-test: + name: Go Test + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.x + uses: actions/setup-go@v2 + id: go + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Cache dependencies + uses: actions/cache@v2 + with: + # Cache + path: ~/go/pkg/mod + # Cache key + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + # An ordered list of keys to use for restoring the cache if no cache hit occurred for key + restore-keys: | + ${{ runner.os }}-go- + - name: Get dependencies + run: | + go get -v -t -d ./... + - name: Go Test + run: | + go mod vendor && go test ./... -gcflags=-l -coverprofile=coverage.txt -covermode=atomic + - name: "Upload test result" + if: always() + uses: actions/upload-artifact@v3 + with: + name: test-coverage + path: "**/coverage.txt" + - name: Coverage + run: bash <(curl -s https://codecov.io/bash) + + go-fmt: + name: Go fmt + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.x + uses: actions/setup-go@v2 + id: go + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + - name: Cache dependencies + uses: actions/cache@v2 + with: + # Cache + path: ~/go/pkg/mod + # Cache key + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + # An ordered list of keys to use for restoring the cache if no cache hit occurred for key + restore-keys: | + ${{ runner.os }}-go- + - name: Get dependencies + run: | + go get -v -t -d ./... + - name: Go Fmt + run: | + go fmt ./... && git status && [[ -z `git status -s` ]] + # diff -u <(echo -n) <(gofmt -d -s .) \ No newline at end of file diff --git a/.licenserc.yaml b/.licenserc.yaml new file mode 100644 index 0000000..b91166d --- /dev/null +++ b/.licenserc.yaml @@ -0,0 +1,77 @@ +header: + license: + spdx-id: Apache-2.0 + content: | + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + paths-ignore: + - '**/*.versionsBackup' + - '**/.idea/**' + - '**/*.iml' + - '**/.settings/*' + - '**/.classpath' + - '**/.project' + - '**/target/**' + - '**/generated/**' + - '**/*.log' + - '**/codestyle/*' + - '**/resources/META-INF/**' + - '**/resources/mockito-extensions/**' + - '**/*.proto' + - '**/*.cache' + - '**/*.txt' + - '**/*.load' + - '**/*.flex' + - '**/*.fc' + - '**/*.javascript' + - '**/*.properties' + - '**/*.thrift' + - '**/*.pb.go' + - '**/*.sh' + - '**/*.bat' + - '**/*.md' + - '**/*.svg' + - '**/*.png' + - '**/*.json' + - '**/*.conf' + - '**/*.ftl' + - '**/*.tpl' + - '**/*.factories' + - '**/*.handlers' + - '**/*.schemas' + - '**/*.nojekyll' + - '**/.browserslistrc' + - '**/yarn.lock' + - '.git/' + - '.github/**' + - '**/.gitignore' + - '**/.helmignore' + - '.repository/' + - 'compiler/**' + - '.gitmodules' + - '**/.gitrepo' + - '.mvn' + - 'mvnw' + - 'mvnw.cmd' + - 'LICENSE' + - 'NOTICE' + - 'CNAME' + - 'Jenkinsfile' + - '**/vendor/**' + - '**/go.sum' + comment: on-failure + + license-location-threshold: 130 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..659064b --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# dubbo-go-contrib diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..e85efe4 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module github.com/apache/dubbo-go-contrib + +go 1.20
