You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2023/06/08 09:48:48 UTC
[dubbo-go-contrib] 01/01: Initial Commit
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 <jh...@gmail.com>
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: commits@dubbo.apache.org
+ issues: notifications@dubbo.apache.org
+ pullrequests: notifications@dubbo.apache.org
+ 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