42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Test ability to build a connector image.
|
|
# Usage: ./test-connector-image-build.sh CONNECTOR_TYPE CONNECTOR_NAME
|
|
|
|
set -euo pipefail
|
|
|
|
CONNECTOR_TYPE=$1
|
|
CONNECTOR_NAME=$2
|
|
CONNECTOR_DIR="../airbyte-integrations/connectors/${CONNECTOR_NAME}"
|
|
|
|
BASE_IMAGE_NAME="docker.io/airbyte/${CONNECTOR_TYPE}-connector-base"
|
|
BASE_IMAGE_TAG='dev'
|
|
|
|
PRIMARY_ARCH='arm64'
|
|
IMAGE_TO_BUILD="airbyte/${CONNECTOR_TYPE}-connector"
|
|
TAG='dev'
|
|
|
|
./test-base-image-build.sh ${CONNECTOR_TYPE} ${BASE_IMAGE_TAG}
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
ARCHES=(arm64 amd64)
|
|
for ARCH in "${ARCHES[@]}"; do
|
|
echo "Building '${ARCH}' image: ${IMAGE_TO_BUILD}:${TAG}-${ARCH}"
|
|
|
|
docker build \
|
|
--platform linux/${ARCH} \
|
|
--label io.airbyte.version=3.11.15\
|
|
--label io.airbyte.name=airbyte/${CONNECTOR_NAME} \
|
|
--file Dockerfile.${CONNECTOR_TYPE}-connector \
|
|
--build-arg=BASE_IMAGE=${BASE_IMAGE_NAME}:${BASE_IMAGE_TAG}-${ARCH} \
|
|
--build-arg=CONNECTOR_NAME=${CONNECTOR_NAME} \
|
|
--build-arg=EXTRA_BUILD_SCRIPT= \
|
|
-t ${IMAGE_TO_BUILD}:${TAG}-${ARCH} \
|
|
${CONNECTOR_DIR}
|
|
done
|
|
|
|
docker tag ${IMAGE_TO_BUILD}:${TAG}-${PRIMARY_ARCH} airbyte/${CONNECTOR_NAME}:dev
|
|
echo -e "Built images:\n- ${IMAGE_TO_BUILD}:${TAG}-${PRIMARY_ARCH}\n- ${IMAGE_TO_BUILD}:${TAG} ('${TAG}-${PRIMARY_ARCH}' alias)"
|
|
echo -e "Test by running: \n docker run --rm -it ${IMAGE_TO_BUILD}:${TAG}-${PRIMARY_ARCH} spec"
|