| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,29 +1,49 @@ | |||
| 1 | 1 | #!/bin/bash | |
| 2 | - # | ||
| 3 | - # Build a new Python Docker image. | ||
| 4 | - # | ||
| 5 | - # Usage: | ||
| 6 | - # ./build [--gpu] [--use-cache] | ||
| 7 | - # | ||
| 8 | - # Options: | ||
| 9 | - # --gpu: Build an image with GPU support. | ||
| 10 | - # --use-cache: Use layer cache when building a new image. | ||
| 11 | - # | ||
| 12 | 2 | set -e | |
| 13 | - set -x | ||
| 3 | + | ||
| 4 | + usage() { | ||
| 5 | + cat << EOF | ||
| 6 | + Usage: $0 [OPTIONS] | ||
| 7 | + Build a new Python Docker image. | ||
| 8 | + | ||
| 9 | + Options: | ||
| 10 | + -g, --gpu Build an image with GPU support. | ||
| 11 | + -c, --use-cache Use layer cache when building a new image. | ||
| 12 | + EOF | ||
| 13 | + } | ||
| 14 | 14 | ||
| 15 | 15 | CACHE_FLAG="--no-cache" | |
| 16 | - IMAGE_TAG="kaggle/python-build" | ||
| 17 | 16 | DOCKERFILE="Dockerfile" | |
| 17 | + IMAGE_TAG="kaggle/python-build" | ||
| 18 | + | ||
| 19 | + while :; do | ||
| 20 | + case "$1" in | ||
| 21 | + -h|--help) | ||
| 22 | + usage | ||
| 23 | + exit | ||
| 24 | + ;; | ||
| 25 | + -g|--gpu) | ||
| 26 | + IMAGE_TAG="kaggle/python-gpu-build" | ||
| 27 | + DOCKERFILE="gpu.Dockerfile" | ||
| 28 | + ;; | ||
| 29 | + -c|--use-cache) | ||
| 30 | + CACHE_FLAG="" | ||
| 31 | + ;; | ||
| 32 | + -?*) | ||
| 33 | + usage | ||
| 34 | + printf 'ERROR: Unknown option: %s\n' "$1" >&2 | ||
| 35 | + exit | ||
| 36 | + ;; | ||
| 37 | + *) | ||
| 38 | + break | ||
| 39 | + esac | ||
| 18 | 40 | ||
| 19 | - if [[ "$1" == "--gpu" ]]; then | ||
| 20 | - IMAGE_TAG="kaggle/python-gpu-build" | ||
| 21 | - DOCKERFILE="gpu.Dockerfile" | ||
| 22 | 41 | shift | |
| 23 | - fi | ||
| 42 | + done | ||
| 24 | 43 | ||
| 25 | - if [[ "$1" == "--use-cache" ]]; then | ||
| 26 | - CACHE_FLAG="" | ||
| 27 | - fi | ||
| 44 | + readonly CACHE_FLAG | ||
| 45 | + readonly DOCKERFILE | ||
| 46 | + readonly IMAGE_TAG | ||
| 28 | 47 | ||
| 29 | - docker build --rm $CACHE_FLAG -t $IMAGE_TAG -f $DOCKERFILE . | ||
| 48 | + set -x | ||
| 49 | + docker build --rm $CACHE_FLAG -t "$IMAGE_TAG" -f "$DOCKERFILE" . | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,35 +1,53 @@ | |||
| 1 | 1 | #!/bin/bash | |
| 2 | - # | ||
| 3 | - # Push a newly-built image with the given label to gcr.io and DockerHub. | ||
| 4 | - # | ||
| 5 | - # Usage: | ||
| 6 | - # ./push [--gpu] [LABEL] | ||
| 7 | - # | ||
| 8 | - # Description: | ||
| 9 | - # LABEL: Docker image label. Defaults to "testing". | ||
| 10 | - # | ||
| 11 | - # Options: | ||
| 12 | - # --gpu: Psuh the image with GPU support. | ||
| 13 | - # | ||
| 14 | 2 | set -e | |
| 15 | - set -x | ||
| 3 | + | ||
| 4 | + usage() { | ||
| 5 | + cat << EOF | ||
| 6 | + Usage: $0 [OPTIONS] [LABEL] | ||
| 7 | + Push a newly-built image with the given LABEL to gcr.io and DockerHub. | ||
| 8 | + | ||
| 9 | + Options: | ||
| 10 | + -g, --gpu Push the image with GPU support. | ||
| 11 | + EOF | ||
| 12 | + } | ||
| 16 | 13 | ||
| 17 | 14 | SOURCE_IMAGE="kaggle/python-build" | |
| 18 | 15 | TARGET_IMAGE="gcr.io/kaggle-images/python" | |
| 19 | 16 | ||
| 20 | - if [[ "$1" == "--gpu" ]]; then | ||
| 21 | - SOURCE_IMAGE="kaggle/python-gpu-build" | ||
| 22 | - TARGET_IMAGE="gcr.io/kaggle-private-byod/python" | ||
| 17 | + while :; do | ||
| 18 | + case "$1" in | ||
| 19 | + -h|--help) | ||
| 20 | + usage | ||
| 21 | + exit | ||
| 22 | + ;; | ||
| 23 | + -g|--gpu) | ||
| 24 | + SOURCE_IMAGE="kaggle/python-gpu-build" | ||
| 25 | + TARGET_IMAGE="gcr.io/kaggle-private-byod/python" | ||
| 26 | + ;; | ||
| 27 | + -?*) | ||
| 28 | + usage | ||
| 29 | + printf 'ERROR: Unknown option: %s\n' "$1" >&2 | ||
| 30 | + exit | ||
| 31 | + ;; | ||
| 32 | + *) | ||
| 33 | + break | ||
| 34 | + esac | ||
| 35 | + | ||
| 23 | 36 | shift | |
| 24 | - fi | ||
| 37 | + done | ||
| 25 | 38 | ||
| 26 | 39 | LABEL=${1:-testing} | |
| 27 | 40 | ||
| 28 | - docker tag $SOURCE_IMAGE:latest $TARGET_IMAGE:$LABEL | ||
| 29 | - gcloud docker -- push $TARGET_IMAGE:$LABEL | ||
| 41 | + readonly SOURCE_IMAGE | ||
| 42 | + readonly TARGET_IMAGE | ||
| 43 | + readonly LABEL | ||
| 44 | + | ||
| 45 | + set -x | ||
| 46 | + docker tag "${SOURCE_IMAGE}:latest" "${TARGET_IMAGE}:${LABEL}" | ||
| 47 | + gcloud docker -- push "${TARGET_IMAGE}:${LABEL}" | ||
| 30 | 48 | ||
| 31 | 49 | # Only CPU images are made public at this time. | |
| 32 | 50 | if [[ "$LABEL" == "latest" && SOURCE_IMAGE = "kaggle/python-build" ]]; then | |
| 33 | - docker tag $SOURCE_IMAGE:latest kaggle/python:$LABEL | ||
| 34 | - docker push kaggle/python:$LABEL | ||
| 51 | + docker tag "${SOURCE_IMAGE}:latest" "kaggle/python:${LABEL}" | ||
| 52 | + docker push "kaggle/python:${LABEL}" | ||
| 35 | 53 | fi | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,27 +1,56 @@ | |||
| 1 | 1 | #!/bin/bash | |
| 2 | 2 | # | |
| 3 | - # Run tests for a newly-built Python Docker image. | ||
| 4 | - # By default, it runs the tests for the CPU image. | ||
| 3 | + # | ||
| 4 | + # | ||
| 5 | 5 | # | |
| 6 | 6 | # Usage: | |
| 7 | 7 | # ./test [--gpu] | |
| 8 | 8 | # | |
| 9 | 9 | # Options: | |
| 10 | 10 | # --gpu: Run tests for the GPU image | |
| 11 | 11 | # | |
| 12 | - | ||
| 13 | 12 | set -e | |
| 14 | - set -x | ||
| 13 | + | ||
| 14 | + usage() { | ||
| 15 | + cat << EOF | ||
| 16 | + Usage: $0 [OPTIONS] | ||
| 17 | + Run tests for a newly-built Python Docker image. | ||
| 18 | + By default, it runs the tests for the CPU image. | ||
| 19 | + | ||
| 20 | + Options: | ||
| 21 | + -g, --gpu Run tests for the GPU image. | ||
| 22 | + EOF | ||
| 23 | + } | ||
| 15 | 24 | ||
| 16 | 25 | IMAGE_TAG="kaggle/python-build" | |
| 17 | 26 | ADDITONAL_OPTS="" | |
| 18 | 27 | ||
| 19 | - if [[ "$1" == "--gpu" ]]; then | ||
| 20 | - IMAGE_TAG="kaggle/python-gpu-build" | ||
| 21 | - ADDITONAL_OPTS="-v /tmp/empty_dir:/usr/local/cuda/lib64/stubs:ro" | ||
| 28 | + while :; do | ||
| 29 | + case "$1" in | ||
| 30 | + -h|--help) | ||
| 31 | + usage | ||
| 32 | + exit | ||
| 33 | + ;; | ||
| 34 | + -g|--gpu) | ||
| 35 | + IMAGE_TAG="kaggle/python-gpu-build" | ||
| 36 | + ADDITONAL_OPTS="-v /tmp/empty_dir:/usr/local/cuda/lib64/stubs:ro" | ||
| 37 | + ;; | ||
| 38 | + -?*) | ||
| 39 | + usage | ||
| 40 | + printf 'ERROR: Unknown option: %s\n' "$1" >&2 | ||
| 41 | + exit | ||
| 42 | + ;; | ||
| 43 | + *) | ||
| 44 | + break | ||
| 45 | + esac | ||
| 46 | + | ||
| 22 | 47 | shift | |
| 23 | - fi | ||
| 48 | + done | ||
| 24 | 49 | ||
| 50 | + readonly IMAGE_TAG | ||
| 51 | + readonly ADDITONAL_OPTS | ||
| 52 | + | ||
| 53 | + set -x | ||
| 25 | 54 | rm -rf /tmp/python-build | |
| 26 | 55 | docker rm jupyter_test || true | |
| 27 | 56 | mkdir -p /tmp/python-build/tmp | |
@@ -39,5 +68,5 @@ docker run --rm -t --read-only --net=none \ | |||
| 39 | 68 | -v /tmp/python-build/tmp:/tmp -v /tmp/python-build/devshm:/dev/shm \ | |
| 40 | 69 | -w=/working \ | |
| 41 | 70 | $ADDITONAL_OPTS \ | |
| 42 | - $IMAGE_TAG \ | ||
| 71 | + "$IMAGE_TAG" \ | ||
| 43 | 72 | /bin/bash -c 'python -m unittest discover -s /input/tests' | |
| Back | FazBrowse Home | New Git URL |
0 commit comments