Skip to content

Commit 628c581

Browse files
authored
Merge pull request #3157 from ROCm/ci_official_rocm_whl_test
[ROCm] Add ROCm support for ci/official
2 parents 4e5e688 + fb92c57 commit 628c581

File tree

8 files changed

+334
-5
lines changed

8 files changed

+334
-5
lines changed

ci/official/any.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ if [[ -n "${TF_ANY_EXTRA_ENV:-}" ]]; then
4545
export TFCI="$TFCI,$TF_ANY_EXTRA_ENV"
4646
fi
4747
if [[ -n "${TF_ANY_SCRIPT:-}" ]]; then
48-
"$TF_ANY_SCRIPT"
48+
# To run ROCM tests inside docker
49+
source "${BASH_SOURCE%/*}/utilities/setup.sh"
50+
tfrun "$TF_ANY_SCRIPT"
4951
elif [[ -n "${TF_ANY_TARGETS:-}" ]]; then
5052
source "${BASH_SOURCE%/*}/utilities/setup.sh"
5153
tfrun bazel "${TF_ANY_MODE:-test}" $TFCI_BAZEL_COMMON_ARGS $TF_ANY_TARGETS
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
################################################################################
2+
ARG BASE_IMAGE=ubuntu:22.04@sha256:58b87898e82351c6cf9cf5b9f3c20257bb9e2dcf33af051e12ce532d7f94e3fe
3+
FROM $BASE_IMAGE AS devel
4+
# See https://docs.docker.com/reference/dockerfile/#understand-how-arg-and-from-interact
5+
# on why we cannot reference BASE_IMAGE again unless we declare it again.
6+
################################################################################
7+
8+
# Install devtoolset build dependencies
9+
COPY setup.sources.sh /setup.sources.sh
10+
COPY setup.packages.sh /setup.packages.sh
11+
COPY builder.packages.txt /builder.packages.txt
12+
13+
RUN /setup.sources.sh && /setup.packages.sh /builder.packages.txt
14+
15+
# Install devtoolset-9 in /dt9 with glibc 2.17 and libstdc++ 4.8, for building
16+
# manylinux2014-compatible packages.
17+
COPY builder.devtoolset/fixlinks.sh /fixlinks.sh
18+
COPY builder.devtoolset/rpm-patch.sh /rpm-patch.sh
19+
COPY builder.devtoolset/build_devtoolset.sh /build_devtoolset.sh
20+
COPY builder.devtoolset/glibc2.17-inline.patch /glibc2.17-inline.patch
21+
RUN /build_devtoolset.sh devtoolset-9 /dt9
22+
23+
# Setup Python
24+
COPY setup.python.sh /setup.python.sh
25+
COPY builder.requirements.txt /builder.requirements.txt
26+
RUN /setup.python.sh python3.9 /builder.requirements.txt
27+
RUN /setup.python.sh python3.10 /builder.requirements.txt
28+
RUN /setup.python.sh python3.11 /builder.requirements.txt
29+
RUN /setup.python.sh python3.13 /builder.requirements.txt
30+
RUN /setup.python.sh python3.13-nogil /builder.requirements.txt
31+
RUN /setup.python.sh python3.14 /builder.requirements.txt
32+
RUN /setup.python.sh python3.14-nogil /builder.requirements.txt
33+
34+
# Since we are using python3.12 as the default python version, we need to
35+
# install python3.12 last for now.
36+
# TODO(b/376338367): switch to pyenv.
37+
RUN /setup.python.sh python3.12 /builder.requirements.txt
38+
39+
# Install ROCm packages
40+
ARG GPU_DEVICE_TARGETS="gfx908,gfx90a,gfx942,gfx950,gfx1030,gfx1100,gfx1101,gfx1102,gfx1200,gfx1201"
41+
ENV GPU_DEVICE_TARGETS=${GPU_DEVICE_TARGETS}
42+
ENV TF_ROCM_AMDGPU_TARGETS=${GPU_DEVICE_TARGETS}
43+
ARG ROCM_VERSION=6.2.0
44+
ARG CUSTOM_INSTALL
45+
ARG ROCM_PATH=/opt/rocm-${ROCM_VERSION}
46+
ENV ROCM_PATH=${ROCM_PATH}
47+
COPY ${CUSTOM_INSTALL} /${CUSTOM_INSTALL}
48+
COPY setup.rocm.sh /setup.rocm.sh
49+
COPY devel.packages.rocm.txt /devel.packages.rocm.txt
50+
RUN /setup.rocm.sh $ROCM_VERSION jammy
51+
52+
53+
54+
55+
# Setup links for TensorFlow to compile.
56+
# Referenced in devel.usertools/*.bazelrc.
57+
# Set python3.12 as the default python version.
58+
# TF does not support python3.13.
59+
RUN ln -sf /usr/bin/python3.12 /usr/bin/python3
60+
RUN ln -sf /usr/bin/python3.12 /usr/bin/python
61+
RUN ln -sf /usr/lib/python3.12 /usr/lib/tf_python
62+
63+
# Make sure clang is on the path
64+
RUN ln -s /usr/lib/llvm-18/bin/clang /usr/bin/clang
65+
66+
67+
# Install various tools.
68+
# - bats: bash unit testing framework
69+
# - bazelisk: always use the correct bazel version
70+
# - buildifier: clean bazel build deps
71+
# - buildozer: clean bazel build deps
72+
# - gcloud SDK: communicate with Google Cloud Platform (GCP) for RBE, CI
73+
# - patchelf: Utility tool to modify existing ELF executables and libraries
74+
RUN git clone --branch v1.11.0 https://github.com/bats-core/bats-core.git && bats-core/install.sh /usr/local && rm -rf bats-core
75+
RUN wget https://github.com/bazelbuild/bazelisk/releases/download/v1.21.0/bazelisk-linux-amd64 -O /usr/local/bin/bazel && chmod +x /usr/local/bin/bazel
76+
RUN wget https://github.com/bazelbuild/buildtools/releases/download/v7.3.1/buildifier-linux-amd64 -O /usr/local/bin/buildifier && chmod +x /usr/local/bin/buildifier
77+
RUN wget https://github.com/bazelbuild/buildtools/releases/download/v7.3.1/buildozer-linux-amd64 -O /usr/local/bin/buildozer && chmod +x /usr/local/bin/buildozer
78+
RUN curl https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz | \
79+
tar zxf - google-cloud-sdk && \
80+
google-cloud-sdk/install.sh --quiet && \
81+
ln -s /google-cloud-sdk/bin/gcloud /usr/bin/gcloud
82+
ENV PATH="$PATH:/google-cloud-sdk/bin/"
83+
84+
# Download and install patchelf v0.18.0 from GitHub. The default Ubuntu focal
85+
# packages only provide the "0.10-2build1" version. We use patchelf to manipulate
86+
# certain shared libraries during the wheel building process (https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/pip_package/build_pip_package.sh#L255-L262).
87+
# When we use Patchelf versions <0.12, those shared libraries end up with a
88+
# corrupted PT_NOTE program header. This was fixed in v0.12, see https://github.com/NixOS/patchelf/commit/43a33482b501b0f5ee9da312aabfca3806570cc9.
89+
RUN wget https://github.com/NixOS/patchelf/releases/download/0.18.0/patchelf-0.18.0-x86_64.tar.gz && tar -zxvf patchelf-0.18.0-x86_64.tar.gz -C /usr && rm -rf patchelf-0.18.0-x86_64.tar.gz
90+
91+
# Setup ENV variables for tensorflow pip build
92+
ENV TF_NEED_ROCM=1
93+
ENV TF_ROCM_GCC=1
94+
ENV ROCM_TOOLKIT_PATH=${ROCM_PATH}
95+
96+
# Don't use the bazel cache when a new docker image is created.
97+
RUN echo build --action_env=DOCKER_CACHEBUSTER=$(date +%s%N)$RANDOM >> /etc/bazel.bazelrc
98+
RUN echo build --host_action_env=DOCKER_HOST_CACHEBUSTER=$(date +%s%N)$RANDOM >> /etc/bazel.bazelrc
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# All required ROCM packages
2+
rocm-ml-sdk
3+
rocm-dev
4+
5+
# Other build-related tools
6+
apt-transport-https
7+
ca-certificates
8+
colordiff
9+
llvm-18
10+
clang-18
11+
libclang-rt-18-dev
12+
curl
13+
ffmpeg
14+
git
15+
gpg-agent
16+
jq
17+
less
18+
libcurl3-dev
19+
libcurl4-openssl-dev
20+
libfreetype6-dev
21+
libhdf5-serial-dev
22+
libssl-dev
23+
libtool
24+
libzmq3-dev
25+
lld-18
26+
moreutils
27+
openjdk-11-jdk
28+
openjdk-11-jre-headless
29+
patchelf
30+
pkg-config
31+
python3-dev
32+
python3-setuptools
33+
python3-pip
34+
rsync
35+
software-properties-common
36+
sudo
37+
swig
38+
unzip
39+
vim
40+
wget
41+
zip
42+
zlib1g-dev
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright 2022 The TensorFlow Authors. All Rights Reserved.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
# ==============================================================================
17+
#
18+
# setup.rocm.sh: Prepare the ROCM installation on the container.
19+
# Usage: setup.rocm.sh <ROCM_VERSION> <DISTRO>
20+
# Supported Distros:
21+
# - focal
22+
# - jammy
23+
# - el7
24+
# - el8
25+
set -x
26+
27+
# Get arguments (or defaults)
28+
ROCM_VERSION=6.2.0
29+
DISTRO=focal
30+
if [[ -n $1 ]]; then
31+
ROCM_VERSION=$1
32+
fi
33+
if [[ -n $2 ]]; then
34+
if [[ "$2" == "focal" ]] || [[ "$2" == "jammy" ]] || [[ "$2" == "noble" ]] || [[ "$2" == "el7" ]] || [[ "$2" == "el8" ]]; then
35+
DISTRO=$2
36+
else
37+
echo "Distro not supported"
38+
echo "Supported distros are:\n focal\n jammy\n noble\n el7\n el8"
39+
exit 1
40+
fi
41+
fi
42+
43+
ROCM_PATH=${ROCM_PATH:-/opt/rocm-${ROCM_VERSION}}
44+
# Intial release don't have the trialing '.0'
45+
# For example ROCM 5.4.0 is at https://repo.radeon.com/rocm/apt/5.4/
46+
if [ ${ROCM_VERSION##*[^0-9]} -eq '0' ]; then
47+
ROCM_VERS=${ROCM_VERSION%.*}
48+
else
49+
ROCM_VERS=$ROCM_VERSION
50+
fi
51+
52+
if [[ "$DISTRO" == "focal" ]] || [[ "$DISTRO" == "jammy" ]] || [[ "$DISTRO" == "noble" ]]; then
53+
ROCM_DEB_REPO_HOME=https://repo.radeon.com/rocm/apt/
54+
AMDGPU_DEB_REPO_HOME=https://repo.radeon.com/amdgpu/
55+
ROCM_BUILD_NAME=${DISTRO}
56+
ROCM_BUILD_NUM=main
57+
58+
# Adjust the ROCM repo location
59+
ROCM_DEB_REPO=${ROCM_DEB_REPO_HOME}${ROCM_VERS}/
60+
AMDGPU_DEB_REPO=${AMDGPU_DEB_REPO_HOME}${ROCM_VERS}/
61+
62+
DEBIAN_FRONTEND=noninteractive apt-get --allow-unauthenticated update
63+
DEBIAN_FRONTEND=noninteractive apt install -y wget software-properties-common
64+
DEBIAN_FRONTEND=noninteractive apt-get clean all
65+
66+
if [ ! -f "/${CUSTOM_INSTALL}" ]; then
67+
# Add rocm repository
68+
#chmod 1777 /tmp
69+
#wget -qO - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -;
70+
71+
# Make the directory if it doesn't exist yet.
72+
# This location is recommended by the distribution maintainers.
73+
mkdir --parents --mode=0755 /etc/apt/keyrings
74+
75+
# Download the key, convert the signing-key to a full
76+
# keyring required by apt and store in the keyring directory
77+
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \
78+
gpg --dearmor | tee /etc/apt/keyrings/rocm.gpg > /dev/null
79+
80+
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] $AMDGPU_DEB_REPO/ubuntu $ROCM_BUILD_NAME $ROCM_BUILD_NUM" | tee --append /etc/apt/sources.list.d/amdgpu.list
81+
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] $ROCM_DEB_REPO $ROCM_BUILD_NAME $ROCM_BUILD_NUM" | tee /etc/apt/sources.list.d/rocm.list
82+
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' \
83+
| tee /etc/apt/preferences.d/rocm-pin-600
84+
else
85+
bash "/${CUSTOM_INSTALL}"
86+
fi
87+
apt-get update --allow-insecure-repositories
88+
89+
90+
# install rocm
91+
/setup.packages.sh /devel.packages.rocm.txt
92+
93+
MIOPENKERNELS=$( \
94+
apt-cache search --names-only miopen-hip-gfx | \
95+
awk '{print $1}' | \
96+
grep -F -v . || \
97+
true )
98+
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated ${MIOPENKERNELS}
99+
100+
#install hipblasLT if available
101+
DEBIAN_FRONTEND=noninteractive apt-get install -y --allow-unauthenticated hipblaslt-dev || true
102+
103+
elif [[ "$DISTRO" == "el7" ]]; then
104+
if [ ! -f "/${CUSTOM_INSTALL}" ]; then
105+
RPM_ROCM_REPO=http://repo.radeon.com/rocm/yum/${ROCM_VERS}/main
106+
echo -e "[ROCm]\nname=ROCm\nbaseurl=$RPM_ROCM_REPO\nenabled=1\ngpgcheck=0" >>/etc/yum.repos.d/rocm.repo
107+
echo -e "[amdgpu]\nname=amdgpu\nbaseurl=https://repo.radeon.com/amdgpu/${ROCM_VERS}/rhel/7/main/x86_64/\nenabled=1\ngpgcheck=0" >>/etc/yum.repos.d/amdgpu.repo
108+
else
109+
bash "/${CUSTOM_INSTALL}"
110+
fi
111+
yum clean all
112+
113+
# install rocm
114+
/setup.packages.rocm.cs7.sh /devel.packages.rocm.cs7.txt
115+
116+
# install hipblasLT if available
117+
yum --enablerepo=extras install -y hipblaslt-devel || true
118+
119+
elif [[ "$DISTRO" == "el8" ]]; then
120+
if [ ! -f "/${CUSTOM_INSTALL}" ]; then
121+
RPM_ROCM_REPO=http://repo.radeon.com/rocm/rhel8/${ROCM_VERS}/main
122+
echo -e "[ROCm]\nname=ROCm\nbaseurl=$RPM_ROCM_REPO\nenabled=1\ngpgcheck=1\ngpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" >>/etc/yum.repos.d/rocm.repo
123+
echo -e "[amdgpu]\nname=amdgpu\nbaseurl=https://repo.radeon.com/amdgpu/${ROCM_VERS}/rhel/8.10/main/x86_64/\nenabled=1\ngpgcheck=1\ngpgkey=https://repo.radeon.com/rocm/rocm.gpg.key" >>/etc/yum.repos.d/amdgpu.repo
124+
else
125+
bash "/${CUSTOM_INSTALL}"
126+
fi
127+
dnf clean all
128+
129+
# install rocm
130+
/setup.packages.rocm.el8.sh /devel.packages.rocm.el8.txt
131+
132+
# install hipblasLT if available
133+
dnf --enablerepo=extras,epel,elrepo,build_system install -y hipblaslt-devel || true
134+
fi
135+
136+
function ver { printf "%03d%03d%03d" $(echo "$1" | tr '.' ' '); }
137+
# If hipcc uses llvm-17, in case of ROCM 6.0.x and 6.1.x and
138+
# host compiler is llvm-18 leads to mismatch in name mangling resulting
139+
# in faliure to link compiled gpu kernels. This linker option circumvents that issue.
140+
if [ $(ver "$ROCM_VERSION") -lt $(ver "6.2.0") ]
141+
then
142+
echo "build:rocm_base --copt=-fclang-abi-compat=17" >> /etc/bazel.bazelrc
143+
fi
144+
145+
echo $ROCM_VERSION
146+
echo $ROCM_REPO
147+
echo $ROCM_PATH
148+
echo $GPU_DEVICE_TARGETS
149+
150+
# Ensure the ROCm target list is set up
151+
printf '%s\n' ${GPU_DEVICE_TARGETS} | tr ',' ' ' | tee -a "$ROCM_PATH/bin/target.lst"
152+
touch "${ROCM_PATH}/.info/version"

ci/official/envs/linux_x86_rocm

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Copyright 2023 The TensorFlow Authors. All Rights Reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
# ==============================================================================
15+
source ci/official/envs/linux_x86
16+
# Using image rocm/tensorflow-build:latest-jammy-pythonall-rocm7.0.2-ci_official
17+
TFCI_DOCKER_IMAGE="rocm/tensorflow-build@sha256:abd4ae15bab1292ba5cb6f7feab43e167b34963f991fc911478e9de65d54b1a3"
18+
TFCI_BAZEL_COMMON_ARGS="--repo_env=HERMETIC_PYTHON_VERSION=$TFCI_PYTHON_VERSION --repo_env=USE_PYWRAP_RULES=True --config rocm"
19+
TFCI_BUILD_PIP_PACKAGE_WHEEL_NAME_ARG="--repo_env=WHEEL_NAME=tensorflow"
20+
TFCI_DOCKER_ARGS="--device /dev/dri --device /dev/kfd --device=/dev/infiniband --network host --ipc host --group-add video --cap-add SYS_PTRACE --security-opt seccomp=unconfined --privileged --shm-size 64G"
21+
TFCI_LIB_SUFFIX="-gpu-linux-x86_64"
22+
TFCI_ROCM_SMI_ENABLE=1
23+
TFCI_NVIDIA_SMI_ENABLE=0
24+
TFCI_BAZEL_CONFIG="rocm"
25+
TFCI_LIB_SUFFIX="-gpu-linux-x86_64"
26+
# TODO: Set back to 610M once the wheel size is fixed.
27+
TFCI_WHL_SIZE_LIMIT=630M
28+
TFCI_WHL_AUDIT_ENABLE=0
29+
TFCI_WHL_BAZEL_TEST_ENABLE=0

ci/official/utilities/cleanup_docker.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,4 @@ $ docker exec -it tf bash
2626
EOF
2727

2828
docker ps
29+
docker rm -f tf-${TFCI_PYTHON_VERSION}

ci/official/utilities/setup_docker.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ if ! docker container inspect tf >/dev/null 2>&1 ; then
5151
echo "GCE_METADATA_HOST=$IP_ADDR" >> $env_file
5252
fi
5353

54-
docker run $TFCI_DOCKER_ARGS --name tf -w "$WORKING_DIR" -itd --rm \
54+
docker run $TFCI_DOCKER_ARGS --name tf-$TFCI_PYTHON_VERSION -w "$WORKING_DIR" -itd --rm \
5555
-v "$TFCI_GIT_DIR:$WORKING_DIR" \
5656
--env-file "$env_file" \
5757
"$TFCI_DOCKER_IMAGE" \
@@ -65,4 +65,4 @@ if ! docker container inspect tf >/dev/null 2>&1 ; then
6565
fi
6666

6767
fi
68-
tfrun() { docker exec tf "$@"; }
68+
tfrun() { docker exec tf-$TFCI_PYTHON_VERSION "$@"; }

ci/official/wheel.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ if [[ "$TFCI_NVIDIA_SMI_ENABLE" == 1 ]]; then
2020
tfrun nvidia-smi
2121
fi
2222

23+
# Record GPU count and ROCM version status
24+
if [[ "$TFCI_ROCM_SMI_ENABLE" == 1 ]]; then
25+
tfrun rocm-smi
26+
fi
27+
2328
# Update the version numbers for Nightly only
2429
if [[ "$TFCI_NIGHTLY_UPDATE_VERSION_ENABLE" == 1 ]]; then
2530
python_bin=python3
@@ -39,7 +44,7 @@ if [[ "$TFCI_WHL_NUMPY_VERSION" == 1 ]]; then
3944
cp ./ci/official/requirements_updater/numpy1_requirements/*.txt .
4045
fi
4146

42-
tfrun bazel $TFCI_BAZEL_BAZELRC_ARGS build $TFCI_BAZEL_COMMON_ARGS --config=cuda_wheel //tensorflow/tools/pip_package:wheel $TFCI_BUILD_PIP_PACKAGE_BASE_ARGS $TFCI_BUILD_PIP_PACKAGE_WHEEL_NAME_ARG --verbose_failures
47+
tfrun bazel $TFCI_BAZEL_BAZELRC_ARGS build $TFCI_BAZEL_COMMON_ARGS --config=$TFCI_BAZEL_CONFIG //tensorflow/tools/pip_package:wheel $TFCI_BUILD_PIP_PACKAGE_BASE_ARGS $TFCI_BUILD_PIP_PACKAGE_WHEEL_NAME_ARG --verbose_failures
4348

4449
tfrun "$TFCI_FIND_BIN" ./bazel-bin/tensorflow/tools/pip_package -iname "*.whl" -exec cp {} $TFCI_OUTPUT_DIR \;
4550
tfrun mkdir -p ./dist
@@ -53,7 +58,7 @@ if [[ -n "$TFCI_BUILD_PIP_PACKAGE_ADDITIONAL_WHEEL_NAMES" ]]; then
5358
for wheel_name in ${TFCI_BUILD_PIP_PACKAGE_ADDITIONAL_WHEEL_NAMES}; do
5459
echo "Building for additional WHEEL_NAME: ${wheel_name}"
5560
CURRENT_WHEEL_NAME_ARG="--repo_env=WHEEL_NAME=${wheel_name}"
56-
tfrun bazel $TFCI_BAZEL_BAZELRC_ARGS build $TFCI_BAZEL_COMMON_ARGS --config=cuda_wheel //tensorflow/tools/pip_package:wheel $TFCI_BUILD_PIP_PACKAGE_BASE_ARGS $CURRENT_WHEEL_NAME_ARG
61+
tfrun bazel $TFCI_BAZEL_BAZELRC_ARGS build $TFCI_BAZEL_COMMON_ARGS --config=$TFCI_BAZEL_CONFIG //tensorflow/tools/pip_package:wheel $TFCI_BUILD_PIP_PACKAGE_BASE_ARGS $CURRENT_WHEEL_NAME_ARG
5762
# Copy the wheel that was just created
5863
tfrun bash -c "$TFCI_FIND_BIN ./bazel-bin/tensorflow/tools/pip_package -iname "${wheel_name}*.whl" -printf '%T+ %p\n' | sort | tail -n 1 | awk '{print \$2}' | xargs -I {} cp {} $TFCI_OUTPUT_DIR"
5964
done

0 commit comments

Comments
 (0)