From 7bea56c640ca372a4dda892e1228c0eed9c1dbbd Mon Sep 17 00:00:00 2001 From: Austin Anderson <angerson@google.com> Date: Mon, 7 Jun 2021 11:26:25 -0700 Subject: [PATCH] Merge Dockerfiles directory and Build environments directories --- CODEOWNERS | 1 + README.md | 6 ++---- experimental_official_bazelrcs/README.md | 12 ------------ .../README.md | 17 ++++++++++++++--- .../master/linux}/Dockerfile | 2 ++ .../master/linux}/bashrc | 0 .../master/linux}/builder.packages.txt | 0 .../master/linux}/devel.packages.txt | 0 .../master/linux}/devel.requirements.txt | 0 .../linux}/devel.user_tools/build_addons.sh | 0 .../master/linux}/devel.user_tools/build_tf.sh | 0 .../master/linux/devel.user_tools/cpu.bazelrc | 8 ++++++++ .../master/linux/devel.user_tools/gpu.bazelrc | 8 ++++++++ .../linux/devel.user_tools/mounted.bazelrc | 2 ++ .../linux}/devel.user_tools/preliminary.bats | 0 .../master/linux}/devel.user_tools/pylintrc | 0 .../linux}/devtoolset/build_devtoolset.sh | 0 .../master/linux}/devtoolset/fixlinks.sh | 0 .../master/linux}/devtoolset/rpm-patch.sh | 0 .../master/linux}/devtoolset/update.sh | 0 .../master/linux}/runtime.requirements.txt | 0 .../master/linux}/setup.cuda.sh | 0 .../master/linux}/setup.devel.sh | 0 .../master/linux}/setup.packages.sh | 0 .../master/linux}/setup.python.sh | 0 .../master/linux}/setup.sources.sh | 0 .../master/linux}/setup.virtualenv.sh | 0 27 files changed, 37 insertions(+), 19 deletions(-) delete mode 100644 experimental_official_bazelrcs/README.md rename {experimental_official_dockerfiles => official_build_environments}/README.md (70%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/Dockerfile (96%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/bashrc (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/builder.packages.txt (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.packages.txt (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.requirements.txt (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.user_tools/build_addons.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.user_tools/build_tf.sh (100%) rename experimental_official_bazelrcs/linux.cpu.bazelrc => official_build_environments/master/linux/devel.user_tools/cpu.bazelrc (66%) rename experimental_official_bazelrcs/linux.gpu.bazelrc => official_build_environments/master/linux/devel.user_tools/gpu.bazelrc (77%) create mode 100644 official_build_environments/master/linux/devel.user_tools/mounted.bazelrc rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.user_tools/preliminary.bats (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devel.user_tools/pylintrc (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devtoolset/build_devtoolset.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devtoolset/fixlinks.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devtoolset/rpm-patch.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/devtoolset/update.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/runtime.requirements.txt (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.cuda.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.devel.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.packages.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.python.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.sources.sh (100%) rename {experimental_official_dockerfiles/master => official_build_environments/master/linux}/setup.virtualenv.sh (100%) diff --git a/CODEOWNERS b/CODEOWNERS index d375a69..6e0c586 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -6,6 +6,7 @@ /directory_template @angerson @perfinion /golang_install_guide @wamuir /manylinux_2014_docker_images @sub-mod +/official_build_environments @angerson @perfinion /ppc64le @wdirons /tekton @perfinion /wsl2_gpu_guide @Avditvs diff --git a/README.md b/README.md index 0861c38..ab67033 100644 --- a/README.md +++ b/README.md @@ -59,10 +59,8 @@ Want to add your own project to this list? It's easy: check out ### WIP / Other -* [**(Experimental) Official Dockerfiles**](experimental_official_dockerfiles): - Rework of TensorFlow's Dockerfiles -* [**(Experimental) Official Bazelrcs**](experimental_official_bazelrcs): - Standard configurations for TensorFlow builds +* [**Official Build Environments**](official_build_environments): + (Experimental) Standard Dockerfiles and configurations for TensorFlow builds * [**Directory Template**](directory_template): Example short description. * [**Tekton CI**](tekton): perfinion's experimental directory for using Tekton CI with TensorFlow diff --git a/experimental_official_bazelrcs/README.md b/experimental_official_bazelrcs/README.md deleted file mode 100644 index b106efd..0000000 --- a/experimental_official_bazelrcs/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# [Experimental] Official BazelRCs - -Standard configurations for TensorFlow builds - -Maintainer: @angerson (TensorFlow, SIG Build) - -* * * - -WIP Bazelrcs for building and using TensorFlow and related packages. - -This directory is intended to contain concrete `bazelrc` files for use with -TensorFlow's CI, and for users to replicate TensorFlow's CI. diff --git a/experimental_official_dockerfiles/README.md b/official_build_environments/README.md similarity index 70% rename from experimental_official_dockerfiles/README.md rename to official_build_environments/README.md index 1676c91..6f22f87 100644 --- a/experimental_official_dockerfiles/README.md +++ b/official_build_environments/README.md @@ -1,16 +1,26 @@ -# [Experimental] Official Dockerfiles +# Official Dockerfiles -Rework of TensorFlow's Dockerfiles +**Experimental.** + +Standard Dockerfiles and configurations for TensorFlow builds. Maintainer: @angerson (TensorFlow, SIG Build) * * * -WIP Dockerfiles for building and using TensorFlow and related packages. +This directory contains experimental work on standardizing TF's development +environment for ease of maintenance and contribution. + +Each directory is for a TF branch, and its subdirectories are for files relating +to each platform (Windows, MacOS, Linux). Only linux has progress right now. Nothing here is constant! If you see something that doesn't make sense or could be better, chances are it could be improved. +## Dockerfiles + +Dockerfiles for building and using TensorFlow and related packages. + The idea here is to create an easy-to-maintain Docker image that can build TensorFlow and related tools. Challenges include reducing image size (CUDA for instance is very big) and supporting manylinux2010 (which is why it uses @@ -26,6 +36,7 @@ Initial versions of the `devel` images are available at You can build the images yourself like this: ``` +$ cd master/linux $ DOCKER_BUILDKIT=1 docker build --target=devel --build-arg PYTHON_VERSION=python3.8 -t tensorflow-build-devel . ``` diff --git a/experimental_official_dockerfiles/master/Dockerfile b/official_build_environments/master/linux/Dockerfile similarity index 96% rename from experimental_official_dockerfiles/master/Dockerfile rename to official_build_environments/master/linux/Dockerfile index 2ebd005..2958f6f 100644 --- a/experimental_official_dockerfiles/master/Dockerfile +++ b/official_build_environments/master/linux/Dockerfile @@ -46,6 +46,8 @@ RUN /setup.python.sh $PYTHON_VERSION devel.requirements.txt # Setup build COPY devel.user_tools /user_tools +COPY ../../experimental_official_bazelrcs/master /bazelrcs +RUN touch /bazelrcs/mounted.bazelrc ################################################################################ FROM nvidia/cuda:11.2.1-cudnn8-runtime-ubuntu20.04 as runtime diff --git a/experimental_official_dockerfiles/master/bashrc b/official_build_environments/master/linux/bashrc similarity index 100% rename from experimental_official_dockerfiles/master/bashrc rename to official_build_environments/master/linux/bashrc diff --git a/experimental_official_dockerfiles/master/builder.packages.txt b/official_build_environments/master/linux/builder.packages.txt similarity index 100% rename from experimental_official_dockerfiles/master/builder.packages.txt rename to official_build_environments/master/linux/builder.packages.txt diff --git a/experimental_official_dockerfiles/master/devel.packages.txt b/official_build_environments/master/linux/devel.packages.txt similarity index 100% rename from experimental_official_dockerfiles/master/devel.packages.txt rename to official_build_environments/master/linux/devel.packages.txt diff --git a/experimental_official_dockerfiles/master/devel.requirements.txt b/official_build_environments/master/linux/devel.requirements.txt similarity index 100% rename from experimental_official_dockerfiles/master/devel.requirements.txt rename to official_build_environments/master/linux/devel.requirements.txt diff --git a/experimental_official_dockerfiles/master/devel.user_tools/build_addons.sh b/official_build_environments/master/linux/devel.user_tools/build_addons.sh similarity index 100% rename from experimental_official_dockerfiles/master/devel.user_tools/build_addons.sh rename to official_build_environments/master/linux/devel.user_tools/build_addons.sh diff --git a/experimental_official_dockerfiles/master/devel.user_tools/build_tf.sh b/official_build_environments/master/linux/devel.user_tools/build_tf.sh similarity index 100% rename from experimental_official_dockerfiles/master/devel.user_tools/build_tf.sh rename to official_build_environments/master/linux/devel.user_tools/build_tf.sh diff --git a/experimental_official_bazelrcs/linux.cpu.bazelrc b/official_build_environments/master/linux/devel.user_tools/cpu.bazelrc similarity index 66% rename from experimental_official_bazelrcs/linux.cpu.bazelrc rename to official_build_environments/master/linux/devel.user_tools/cpu.bazelrc index c2c1ac9..22991db 100644 --- a/experimental_official_bazelrcs/linux.cpu.bazelrc +++ b/official_build_environments/master/linux/devel.user_tools/cpu.bazelrc @@ -1,6 +1,14 @@ # This bazelrc can build a CPU-supporting TF package. # Hopefully it's compatible with manylinux2010. +# Convenient cache configurations +# Use a cache directory mounted to /tf/cache. Very useful! +build:sigbuild_local_cache --disk_cache=/tf/cache +# Use the public-access TF DevInfra cache (read only) +build:sigbuild_remote_cache --remote_cache="https://storage.googleapis.com/tensorflow-devinfra-bazel-cache" --remote_upload_local_results=false +# Write to the TF DevInfra cache (only works for internal TF CI) +build:sigbuild_remote_cache_push --remote_cache="https://storage.googleapis.com/tensorflow-devinfra-bazel-cache" --google_default_credentials + # Use Python 3.X as installed in container image build --action_env PYTHON_BIN_PATH="/usr/bin/python3" build --action_env PYTHON_LIB_PATH="/usr/lib/tf_python" diff --git a/experimental_official_bazelrcs/linux.gpu.bazelrc b/official_build_environments/master/linux/devel.user_tools/gpu.bazelrc similarity index 77% rename from experimental_official_bazelrcs/linux.gpu.bazelrc rename to official_build_environments/master/linux/devel.user_tools/gpu.bazelrc index d7b8f03..0146e01 100644 --- a/experimental_official_bazelrcs/linux.gpu.bazelrc +++ b/official_build_environments/master/linux/devel.user_tools/gpu.bazelrc @@ -1,6 +1,14 @@ # This bazelrc can build a GPU-supporting TF package. # Hopefully it's compatible with manylinux2010. +# Convenient cache configurations +# Use a cache directory mounted to /tf/cache. Very useful! +build:sigbuild_local_cache --disk_cache=/tf/cache +# Use the public-access TF DevInfra cache (read only) +build:sigbuild_remote_cache --remote_cache="https://storage.googleapis.com/tensorflow-devinfra-bazel-cache" --remote_upload_local_results=false +# Write to the TF DevInfra cache (only works for internal TF CI) +build:sigbuild_remote_cache_push --remote_cache="https://storage.googleapis.com/tensorflow-devinfra-bazel-cache" --google_default_credentials + # Use Python 3.X as installed in container image build --action_env PYTHON_BIN_PATH="/usr/bin/python3" build --action_env PYTHON_LIB_PATH="/usr/lib/tf_python" diff --git a/official_build_environments/master/linux/devel.user_tools/mounted.bazelrc b/official_build_environments/master/linux/devel.user_tools/mounted.bazelrc new file mode 100644 index 0000000..2c1e242 --- /dev/null +++ b/official_build_environments/master/linux/devel.user_tools/mounted.bazelrc @@ -0,0 +1,2 @@ +# You can mount your own bazelrc over this file in Docker with +# -v $HOME/my/bazelrc:/user_tools/mounted.bazelrc diff --git a/experimental_official_dockerfiles/master/devel.user_tools/preliminary.bats b/official_build_environments/master/linux/devel.user_tools/preliminary.bats similarity index 100% rename from experimental_official_dockerfiles/master/devel.user_tools/preliminary.bats rename to official_build_environments/master/linux/devel.user_tools/preliminary.bats diff --git a/experimental_official_dockerfiles/master/devel.user_tools/pylintrc b/official_build_environments/master/linux/devel.user_tools/pylintrc similarity index 100% rename from experimental_official_dockerfiles/master/devel.user_tools/pylintrc rename to official_build_environments/master/linux/devel.user_tools/pylintrc diff --git a/experimental_official_dockerfiles/master/devtoolset/build_devtoolset.sh b/official_build_environments/master/linux/devtoolset/build_devtoolset.sh similarity index 100% rename from experimental_official_dockerfiles/master/devtoolset/build_devtoolset.sh rename to official_build_environments/master/linux/devtoolset/build_devtoolset.sh diff --git a/experimental_official_dockerfiles/master/devtoolset/fixlinks.sh b/official_build_environments/master/linux/devtoolset/fixlinks.sh similarity index 100% rename from experimental_official_dockerfiles/master/devtoolset/fixlinks.sh rename to official_build_environments/master/linux/devtoolset/fixlinks.sh diff --git a/experimental_official_dockerfiles/master/devtoolset/rpm-patch.sh b/official_build_environments/master/linux/devtoolset/rpm-patch.sh similarity index 100% rename from experimental_official_dockerfiles/master/devtoolset/rpm-patch.sh rename to official_build_environments/master/linux/devtoolset/rpm-patch.sh diff --git a/experimental_official_dockerfiles/master/devtoolset/update.sh b/official_build_environments/master/linux/devtoolset/update.sh similarity index 100% rename from experimental_official_dockerfiles/master/devtoolset/update.sh rename to official_build_environments/master/linux/devtoolset/update.sh diff --git a/experimental_official_dockerfiles/master/runtime.requirements.txt b/official_build_environments/master/linux/runtime.requirements.txt similarity index 100% rename from experimental_official_dockerfiles/master/runtime.requirements.txt rename to official_build_environments/master/linux/runtime.requirements.txt diff --git a/experimental_official_dockerfiles/master/setup.cuda.sh b/official_build_environments/master/linux/setup.cuda.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.cuda.sh rename to official_build_environments/master/linux/setup.cuda.sh diff --git a/experimental_official_dockerfiles/master/setup.devel.sh b/official_build_environments/master/linux/setup.devel.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.devel.sh rename to official_build_environments/master/linux/setup.devel.sh diff --git a/experimental_official_dockerfiles/master/setup.packages.sh b/official_build_environments/master/linux/setup.packages.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.packages.sh rename to official_build_environments/master/linux/setup.packages.sh diff --git a/experimental_official_dockerfiles/master/setup.python.sh b/official_build_environments/master/linux/setup.python.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.python.sh rename to official_build_environments/master/linux/setup.python.sh diff --git a/experimental_official_dockerfiles/master/setup.sources.sh b/official_build_environments/master/linux/setup.sources.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.sources.sh rename to official_build_environments/master/linux/setup.sources.sh diff --git a/experimental_official_dockerfiles/master/setup.virtualenv.sh b/official_build_environments/master/linux/setup.virtualenv.sh similarity index 100% rename from experimental_official_dockerfiles/master/setup.virtualenv.sh rename to official_build_environments/master/linux/setup.virtualenv.sh -- GitLab