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

lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/main by this push:
     new 0009293  ci(go): add pre-commit hooks for Go (#127)
0009293 is described below

commit 000929316755cd264eebb1dc1a6901514380684a
Author: David Li <[email protected]>
AuthorDate: Thu Sep 15 16:12:37 2022 -0400

    ci(go): add pre-commit hooks for Go (#127)
    
    * ci(go): add pre-commit hooks for Go
    
    * Collapse statements
---
 .github/workflows/dev.yml                |  7 +++++++
 .pre-commit-config.yaml                  |  7 +++++++
 go/adbc/drivermgr/wrapper_sqlite_test.go | 12 ++++++------
 go/adbc/sqldriver/driver.go              | 10 ++++++++--
 4 files changed, 28 insertions(+), 8 deletions(-)

diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml
index c2da120..4fbed71 100644
--- a/.github/workflows/dev.yml
+++ b/.github/workflows/dev.yml
@@ -34,7 +34,14 @@ jobs:
         with:
           fetch-depth: 0
           persist-credentials: false
+      - uses: actions/setup-go@v3
+        with:
+          go-version-file: 'go/adbc/go.mod'
+          check-latest: true
       - uses: actions/setup-python@v2
+      - name: install golangci-lint
+        run: |
+          go install 
github.com/golangci/golangci-lint/cmd/[email protected]
       - name: pre-commit (cache)
         uses: actions/cache@v3
         with:
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 3b9a137..5983b00 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -48,9 +48,16 @@ repos:
         - 
"--filter=-whitespace/comments,-readability/casting,-readability/todo,-readability/alt_tokens,-build/header_guard,-build/c++11,-build/include_order,-build/include_subdir"
         - "--linelength=90"
         - "--verbose=2"
+  - repo: https://github.com/golangci/golangci-lint
+    rev: v1.49.0
+    hooks:
+    - id: golangci-lint
+      entry: bash -c 'cd go/adbc && golangci-lint run --fix'
+      args: [--fix]
   - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
     rev: v2.3.0
     hooks:
+    - id: pretty-format-golang
     - id: pretty-format-java
       args: [--autofix]
       types_or: [java]
diff --git a/go/adbc/drivermgr/wrapper_sqlite_test.go 
b/go/adbc/drivermgr/wrapper_sqlite_test.go
index 2c89161..edad49f 100644
--- a/go/adbc/drivermgr/wrapper_sqlite_test.go
+++ b/go/adbc/drivermgr/wrapper_sqlite_test.go
@@ -46,9 +46,9 @@ type DriverMgrSuite struct {
 func (dm *DriverMgrSuite) SetupSuite() {
        dm.ctx = context.TODO()
        dm.drv = &drivermgr.Driver{}
-       dm.drv.SetOptions(map[string]string{
+       dm.NoError(dm.drv.SetOptions(map[string]string{
                "driver": "adbc_driver_sqlite",
-       })
+       }))
 }
 
 func (dm *DriverMgrSuite) SetupTest() {
@@ -197,20 +197,20 @@ func TestDriverMgr(t *testing.T) {
 func TestDriverMgrCustomInitFunc(t *testing.T) {
        // explicitly set entrypoint
        var drv drivermgr.Driver
-       drv.SetOptions(map[string]string{
+       assert.NoError(t, drv.SetOptions(map[string]string{
                "driver":     "adbc_driver_sqlite",
                "entrypoint": "AdbcDriverInit",
-       })
+       }))
        cnxn, err := drv.Open(context.Background())
        assert.NoError(t, err)
        require.NoError(t, cnxn.Close())
 
        // set invalid entrypoint
        drv = drivermgr.Driver{}
-       drv.SetOptions(map[string]string{
+       assert.NoError(t, drv.SetOptions(map[string]string{
                "driver":     "adbc_driver_sqlite",
                "entrypoint": "ThisSymbolDoesNotExist",
-       })
+       }))
        cnxn, err = drv.Open(context.Background())
        assert.Nil(t, cnxn)
        var exp *adbc.Error
diff --git a/go/adbc/sqldriver/driver.go b/go/adbc/sqldriver/driver.go
index 4b64fa2..1a17912 100644
--- a/go/adbc/sqldriver/driver.go
+++ b/go/adbc/sqldriver/driver.go
@@ -133,7 +133,10 @@ func (d Driver) Open(name string) (driver.Conn, error) {
        if err != nil {
                return nil, err
        }
-       d.Driver.SetOptions(opts)
+       err = d.Driver.SetOptions(opts)
+       if err != nil {
+               return nil, err
+       }
 
        cnxn, err := d.Driver.Open(context.Background())
        if err != nil {
@@ -149,7 +152,10 @@ func (d Driver) OpenConnector(name string) 
(driver.Connector, error) {
        if err != nil {
                return nil, err
        }
-       d.Driver.SetOptions(opts)
+       err = d.Driver.SetOptions(opts)
+       if err != nil {
+               return nil, err
+       }
 
        return &connector{d.Driver}, nil
 }

Reply via email to