You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2022/06/30 19:57:42 UTC

[pulsar-client-go] branch master updated: [ci] update and simplify GitHub workflow (#796)

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar-client-go.git


The following commit(s) were added to refs/heads/master by this push:
     new e95cf06  [ci] update and simplify GitHub workflow (#796)
e95cf06 is described below

commit e95cf063334886846c3c691a55bc1deee34add3d
Author: Paul Gier <pa...@datastax.com>
AuthorDate: Thu Jun 30 14:57:35 2022 -0500

    [ci] update and simplify GitHub workflow (#796)
    
    * update github workflow
    
    - Use current version of github actions
    - Use golang-ci-lint action instead of manual install
    - Enable default linters
    - Combine integration test config into a single github workflow file
    
    Signed-off-by: Paul Gier <pa...@datastax.com>
    
    * enable 'ineffassign' linter and fix errors
    
    Signed-off-by: Paul Gier <pa...@datastax.com>
    
    * enable 'unused' linter and fix errors
    
    Signed-off-by: Paul Gier <pa...@datastax.com>
---
 .github/workflows/go.yml      | 26 --------------------------
 .github/workflows/project.yml | 40 ++++++++++++++++++++++++----------------
 .golangci.yml                 | 22 ++++++++++++----------
 pulsar/internal/connection.go |  6 ------
 pulsar/schema_test.go         |  3 +++
 5 files changed, 39 insertions(+), 58 deletions(-)

diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
deleted file mode 100644
index 1819b53..0000000
--- a/.github/workflows/go.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Go
-on: [pull_request]
-jobs:
-  build:
-    name: Build
-    runs-on: ubuntu-latest
-    strategy:
-      matrix:
-        go-version: [1.15, 1.16, 1.17, 1.18]
-    steps:
-      - name: clean docker cache
-        run: |
-          docker rmi $(docker images -q) -f
-          df -h
-      - name: Set up Go
-        uses: actions/setup-go@v1
-        with:
-          go-version: ${{ matrix.go-version }}
-        id: go
-
-      - name: Check out code into the Go module directory
-        uses: actions/checkout@v2
-
-      - name: Test
-        run: |
-          ./docker-ci.sh ${{ matrix.go-version }}
diff --git a/.github/workflows/project.yml b/.github/workflows/project.yml
index ce8545b..16518ad 100644
--- a/.github/workflows/project.yml
+++ b/.github/workflows/project.yml
@@ -1,30 +1,38 @@
-name: Project Style Check
+name: CI
 on: [pull_request]
 jobs:
   build:
-    name: Build
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-go@v3
+      - name: build
+        run: go build ./pulsar
+
+  lint:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: golangci/golangci-lint-action@v3
+
+  integration-tests:
     runs-on: ubuntu-latest
     strategy:
       matrix:
         go-version: [1.15, 1.16, 1.17, 1.18]
     steps:
-      - name: Set up Go
-        uses: actions/setup-go@v1
+      - name: clean docker cache
+        run: |
+          docker rmi $(docker images -q) -f
+          df -h
+
+      - uses: actions/setup-go@v3
         with:
           go-version: ${{ matrix.go-version }}
-        id: go
 
       - name: Check out code into the Go module directory
-        uses: actions/checkout@v1
-
-      - name: InstallTool
-        run: |
-          wget -O - -q https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh| sh -s v1.46.2
-          ./bin/golangci-lint --version
-
-      - name: Build
-        run: go build ./pulsar
+        uses: actions/checkout@v3
 
-      - name: CheckStyle
+      - name: Run Tests
         run: |
-          ./bin/golangci-lint run -c ./.golangci.yml ./...
+          ./docker-ci.sh ${{ matrix.go-version }}
diff --git a/.golangci.yml b/.golangci.yml
index 525d34c..2dc120a 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -5,20 +5,22 @@ run:
   deadline: 6m
 
 linters:
-  disable-all: true
+  # Uncomment this line to run only the explicitly enabled linters
+  # disable-all: true
+
+  # Run these linters in addition to the default ones
   enable:
     - bodyclose
-    - deadcode
     - goimports
-    - revive
-    - gosimple
-    - govet
+    - lll
     - misspell
-    - structcheck
+    - prealloc
+    - revive
     - stylecheck
-    - typecheck
     - unconvert
     - unparam
-    - varcheck
-    - lll
-    - prealloc
+
+  # Disable these default linters
+  disable:
+    - errcheck
+    - staticcheck
diff --git a/pulsar/internal/connection.go b/pulsar/internal/connection.go
index 0249020..318ec89 100644
--- a/pulsar/internal/connection.go
+++ b/pulsar/internal/connection.go
@@ -148,8 +148,6 @@ type connection struct {
 
 	log log.Logger
 
-	requestIDGenerator uint64
-
 	incomingRequestsWG sync.WaitGroup
 	incomingRequestsCh chan *request
 	incomingCmdCh      chan *incomingCmd
@@ -957,10 +955,6 @@ func (c *connection) closed() bool {
 	return connectionClosed == c.getState()
 }
 
-func (c *connection) newRequestID() uint64 {
-	return atomic.AddUint64(&c.requestIDGenerator, 1)
-}
-
 func (c *connection) getTLSConfig() (*tls.Config, error) {
 	tlsConfig := &tls.Config{
 		InsecureSkipVerify: c.tlsOptions.AllowInsecureConnection,
diff --git a/pulsar/schema_test.go b/pulsar/schema_test.go
index 1aa35f0..e7d52ca 100644
--- a/pulsar/schema_test.go
+++ b/pulsar/schema_test.go
@@ -84,6 +84,7 @@ func TestJsonSchema(t *testing.T) {
 
 	consumerJS, err := NewJSONSchemaWithValidation(exampleSchemaDef, nil)
 	assert.Nil(t, err)
+	assert.NotNil(t, consumerJS)
 	consumerJS = NewJSONSchema(exampleSchemaDef, nil) // test this legacy function
 	consumer, err := client.Subscribe(ConsumerOptions{
 		Topic:                       "jsonTopic",
@@ -109,6 +110,7 @@ func TestProtoSchema(t *testing.T) {
 	// create producer
 	psProducer, err := NewProtoSchemaWithValidation(protoSchemaDef, nil)
 	assert.Nil(t, err)
+	assert.NotNil(t, psProducer)
 	psProducer = NewProtoSchema(protoSchemaDef, nil)
 	producer, err := client.CreateProducer(ProducerOptions{
 		Topic:  "proto",
@@ -152,6 +154,7 @@ func TestAvroSchema(t *testing.T) {
 	// create producer
 	asProducer, err := NewAvroSchemaWithValidation(exampleSchemaDef, nil)
 	assert.Nil(t, err)
+	assert.NotNil(t, asProducer)
 	asProducer = NewAvroSchema(exampleSchemaDef, nil)
 	producer, err := client.CreateProducer(ProducerOptions{
 		Topic:  "avro-topic",