blob: b2df4ae61eacdcaafbe906e7968457e3f7ebe9d7 [file] [log] [blame]
# 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.
version: '3'
services:
phoenix:
image: boostport/hbase-phoenix-all-in-one:${PHOENIX_VERSION:-2.0-5.0}
hsqldb:
image: apache/calcite-avatica-hypersql:${HSQLDB_VERSION:-1.22.0}
command: -u jdbc:hsqldb:mem:public
test:
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:
PHOENIX_HOST: http://phoenix:8765
HSQLDB_HOST: http://hsqldb:8765
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
depends_on:
- 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:
HSQLDB_HOST: http://hsqldb:8765
AVATICA_FLAVOR: HSQLDB
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
depends_on:
- hsqldb
dry-run:
image: alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh dry-run"
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
release:
image: alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh release"
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache
clean:
image: alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh clean"
volumes:
- .:/source
publish-release-for-voting:
image: alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh publish-release-for-voting"
volumes:
- .:/source
promote-release:
image: alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh promote-release"
volumes:
- .:/source
compile-protobuf:
image: golang:1.19
working_dir: /source
command: sh -c "./docker.sh compile-protobuf"
environment:
AVATICA_VERSION: 1.22.0
PROTOBUF_VERSION: 21.5
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache