blob: e0bda70c9c5a91804bd40f807d34932073adae7b [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:2.0-5.0
hsqldb:
image: apache/calcite-avatica-hypersql:1.15.0
command: -u jdbc:hsqldb:mem:public
test:
image: golang:1.12-alpine
command: sh -c "apk --no-cache --no-progress add gcc git musl-dev; 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
dev:
image: golang:1.12-alpine
command: sh -c "apk --no-cache --no-progress add build-base git; go get github.com/unchartedsoftware/witch; cd /source; witch --cmd=\"export AVATICA_FLAVOR=HSQLDB && go test -v ./...; export AVATICA_FLAVOR=PHOENIX && go test -v ./...\" --watch=\"*.mod,**/*.go\""
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
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.12-alpine
working_dir: /source
command: sh -c "apk --no-cache --no-progress add bash; ./docker.sh compile-protobuf"
environment:
AVATICA_VERSION: 1.14.0
PROTOBUF_VERSION: 3.7.1
volumes:
- .:/source
- $GOPATH/pkg/mod/cache:/go/pkg/mod/cache