diff --git a/docker/0.22.0/Dockerfile b/docker/0.22.0/Dockerfile index b8b8b1e004..df2e58a452 100644 --- a/docker/0.22.0/Dockerfile +++ b/docker/0.22.0/Dockerfile @@ -62,11 +62,11 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* COPY --from=builder /opt/thrift/bin/thrift /usr/local/bin/thrift -COPY ../docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh -COPY ../tests/smoke.thrift /tmp/smoke.thrift +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN set -eux; \ thrift --version | grep -F "$THRIFT_VERSION"; \ + echo 'struct Ping { 1: string message }' > /tmp/smoke.thrift; \ mkdir -p /tmp/smoke-out; \ thrift --gen json -o /tmp/smoke-out /tmp/smoke.thrift; \ find /tmp/smoke-out -type f | grep -q .; \ diff --git a/docker/0.22.0/Dockerfile.alpine b/docker/0.22.0/Dockerfile.alpine index 41d5292d4a..8d99613164 100644 --- a/docker/0.22.0/Dockerfile.alpine +++ b/docker/0.22.0/Dockerfile.alpine @@ -58,11 +58,11 @@ RUN set -eux; \ apk add --no-cache libstdc++ COPY --from=builder /opt/thrift/bin/thrift /usr/local/bin/thrift -COPY ../docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh -COPY ../tests/smoke.thrift /tmp/smoke.thrift +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN set -eux; \ thrift --version | grep -F "$THRIFT_VERSION"; \ + echo 'struct Ping { 1: string message }' > /tmp/smoke.thrift; \ mkdir -p /tmp/smoke-out; \ thrift --gen json -o /tmp/smoke-out /tmp/smoke.thrift; \ find /tmp/smoke-out -type f | grep -q .; \ diff --git a/docker/0.22.0/docker-entrypoint.sh b/docker/0.22.0/docker-entrypoint.sh new file mode 100755 index 0000000000..ac3ccae395 --- /dev/null +++ b/docker/0.22.0/docker-entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +if [ "$#" -eq 0 ]; then + set -- thrift +elif [ "${1#-}" != "$1" ]; then + set -- thrift "$@" +fi + +exec "$@" diff --git a/docker/0.23.0/Dockerfile b/docker/0.23.0/Dockerfile index 93f67bd973..33e4ddd421 100644 --- a/docker/0.23.0/Dockerfile +++ b/docker/0.23.0/Dockerfile @@ -62,11 +62,11 @@ RUN set -eux; \ rm -rf /var/lib/apt/lists/* COPY --from=builder /opt/thrift/bin/thrift /usr/local/bin/thrift -COPY ../docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh -COPY ../tests/smoke.thrift /tmp/smoke.thrift +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN set -eux; \ thrift --version | grep -F "$THRIFT_VERSION"; \ + echo 'struct Ping { 1: string message }' > /tmp/smoke.thrift; \ mkdir -p /tmp/smoke-out; \ thrift --gen json -o /tmp/smoke-out /tmp/smoke.thrift; \ find /tmp/smoke-out -type f | grep -q .; \ diff --git a/docker/0.23.0/Dockerfile.alpine b/docker/0.23.0/Dockerfile.alpine index a54d25b6ab..f5efcbf29d 100644 --- a/docker/0.23.0/Dockerfile.alpine +++ b/docker/0.23.0/Dockerfile.alpine @@ -58,11 +58,11 @@ RUN set -eux; \ apk add --no-cache libstdc++ COPY --from=builder /opt/thrift/bin/thrift /usr/local/bin/thrift -COPY ../docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh -COPY ../tests/smoke.thrift /tmp/smoke.thrift +COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN set -eux; \ thrift --version | grep -F "$THRIFT_VERSION"; \ + echo 'struct Ping { 1: string message }' > /tmp/smoke.thrift; \ mkdir -p /tmp/smoke-out; \ thrift --gen json -o /tmp/smoke-out /tmp/smoke.thrift; \ find /tmp/smoke-out -type f | grep -q .; \ diff --git a/docker/0.23.0/docker-entrypoint.sh b/docker/0.23.0/docker-entrypoint.sh new file mode 100755 index 0000000000..ac3ccae395 --- /dev/null +++ b/docker/0.23.0/docker-entrypoint.sh @@ -0,0 +1,10 @@ +#!/bin/sh +set -e + +if [ "$#" -eq 0 ]; then + set -- thrift +elif [ "${1#-}" != "$1" ]; then + set -- thrift "$@" +fi + +exec "$@" diff --git a/docker/generate-stackbrew-library.sh b/docker/generate-stackbrew-library.sh index b18b2b3d02..82ec30fed0 100755 --- a/docker/generate-stackbrew-library.sh +++ b/docker/generate-stackbrew-library.sh @@ -68,8 +68,8 @@ for version, meta in maintained: print(f"Tags: {', '.join(debian_tags)}") print("Architectures: amd64, arm64v8") print(f"GitCommit: {git_commit}") - print("Directory: docker") - print(f"File: {version}/Dockerfile") + print(f"Directory: docker/{version}") + print("File: Dockerfile") print() alpine_tags = [f"{version}-alpine{alpine}"] @@ -86,8 +86,8 @@ for version, meta in maintained: print(f"Tags: {', '.join(alpine_tags)}") print("Architectures: amd64, arm64v8") print(f"GitCommit: {git_commit}") - print("Directory: docker") - print(f"File: {version}/Dockerfile.alpine") + print(f"Directory: docker/{version}") + print("File: Dockerfile.alpine") if version != maintained[-1][0]: print() PY diff --git a/docker/test.sh b/docker/test.sh index d72f128367..33c8972f87 100755 --- a/docker/test.sh +++ b/docker/test.sh @@ -110,16 +110,18 @@ for version in $(maintained_versions); do for variant in debian alpine; do case "$variant" in debian) - dockerfile="$version/Dockerfile" + context="$version" + dockerfile="Dockerfile" ;; alpine) - dockerfile="$version/Dockerfile.alpine" + context="$version" + dockerfile="Dockerfile.alpine" ;; esac image="$(image_tag "$version" "$variant" "$platform")" echo "Building $image for $platform" - docker buildx build --platform "$platform" --load -t "$image" -f "$dockerfile" . + docker buildx build --platform "$platform" --load -t "$image" -f "$context/$dockerfile" "$context" echo "Testing $image for $platform" smoke_image "$image" "$platform" "$version" "$variant" done