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

francischuang pushed a commit to branch run-tests-using-docker
in repository https://gitbox.apache.org/repos/asf/calcite-avatica-go.git

commit cad4e559f37f03b32c5c55151685c7ed3501b6dd
Author: Francis Chuang <[email protected]>
AuthorDate: Fri Aug 12 13:34:22 2022 +1000

    [CALCITE-5235] Run Github Actions tests using docker and upgrade Go
---
 .github/workflows/tests.yaml | 45 ++++++++++++--------------------------------
 docker-compose.yml           | 34 +++++++++++++++++++++++++++++----
 2 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml
index 8cad245..67ce052 100644
--- a/.github/workflows/tests.yaml
+++ b/.github/workflows/tests.yaml
@@ -5,45 +5,24 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        go_version: [1.17, 1.18]
-        database_image:
-          - boostport/hbase-phoenix-all-in-one:1.3-4.13
-          - boostport/hbase-phoenix-all-in-one:1.4-4.14
-          - boostport/hbase-phoenix-all-in-one:2.0-5.0
-          - apache/calcite-avatica-hypersql:1.13.0
-          - apache/calcite-avatica-hypersql:1.14.0
-          - apache/calcite-avatica-hypersql:1.15.0
-          - apache/calcite-avatica-hypersql:1.17.0
-          - apache/calcite-avatica-hypersql:1.18.0
-          - apache/calcite-avatica-hypersql:1.19.0
-          - apache/calcite-avatica-hypersql:1.20.0
+        go_version: [1.18, 1.19]
+        database:
+          - [phoenix, 1.3-4.13]
+          - [phoenix, 1.4-4.14]
+          - [phoenix, 2.0-5.0]
+          - [hsqldb, 1.18.0]
+          - [hsqldb, 1.19.0]
+          - [hsqldb, 1.20.0]
+          - [hsqldb, 1.21.0]
+          - [hsqldb, 1.22.0]
 
     runs-on: ubuntu-latest
 
     steps:
-      - name: Set up go
-        uses: actions/setup-go@v3
-        with:
-          go-version: ${{ matrix.go_version}}
-
       - name: Check out Avatica-Go repository
         uses: actions/checkout@v3
 
       - name: Run tests
         env:
-          PHOENIX_HOST: http://localhost:8765
-          HSQLDB_HOST: http://localhost:8765
-          DATABASE_IMAGE: ${{ matrix.database_image }}
-        run: |
-          case "$DATABASE_IMAGE" in
-            *phoenix*)
-              docker run -d -p 8765:8765 $DATABASE_IMAGE
-              export AVATICA_FLAVOR=PHOENIX
-              ;;
-            *hypersql*)
-              docker run -d -p 8765:8765 $DATABASE_IMAGE -u 
jdbc:hsqldb:mem:public
-              export AVATICA_FLAVOR=HSQLDB
-              ;;
-          esac
-
-          go test -v ./...
\ No newline at end of file
+          VERSION: ${{ matrix.database[1] }}
+        run: docker compose run test-${{ matrix.database[0]] }}
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
index 5523ab1..f1dd040 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,14 +16,14 @@
 version: '3'
 services:
   phoenix:
-    image: boostport/hbase-phoenix-all-in-one:2.0-5.0
+    image: boostport/hbase-phoenix-all-in-one:${VERSION:-2.0-5.0}
 
   hsqldb:
-    image: apache/calcite-avatica-hypersql:1.20.0
+    image: apache/calcite-avatica-hypersql:${VERSION:-1.20.0}
     command: -u jdbc:hsqldb:mem:public
 
   test:
-    image: golang:1.18
+    image: golang:${GO_VERSION:-1.19}
     command: sh -c "export AVATICA_FLAVOR=HSQLDB && go test -v ./...; export 
AVATICA_FLAVOR=PHOENIX && go test -v ./..."
     working_dir: /source
     environment:
@@ -36,6 +36,32 @@ services:
       - phoenix
       - hsqldb
 
+  test-phoenix:
+    image: golang:${GO_VERSION:-1.19}
+    command: go test -v ./...
+    working_dir: /source
+    environment:
+      PHOENIX_HOST: http://phoenix:8765
+      AVATICA_FLAVOR: PHOENIX
+    volumes:
+      - .:/source
+      - $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
+    depends_on:
+      - phoenix
+
+  test-hsqldb:
+    image: golang:${GO_VERSION:-1.19}
+    command: go test -v ./...
+    working_dir: /source
+    environment:
+      PHOENIX_HOST: http://phoenix:8765
+      AVATICA_FLAVOR: HSQLDB
+    volumes:
+      - .:/source
+      - $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
+    depends_on:
+      - hsqldb
+
   dry-run:
     image: alpine
     working_dir: /source
@@ -74,7 +100,7 @@ services:
       - .:/source
 
   compile-protobuf:
-    image: golang:1.18
+    image: golang:1.19
     working_dir: /source
     command: sh -c "./docker.sh compile-protobuf"
     environment:

Reply via email to