Skip to content

Commit e8cf1a0

Browse files
committed
[CI] switch CI docker to Ubuntu20.04
- actions/runner-images#6002
1 parent a22ab78 commit e8cf1a0

File tree

4 files changed

+122
-7
lines changed

4 files changed

+122
-7
lines changed

.github/workflows/backport.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77

88
jobs:
99
backport:
10-
runs-on: ubuntu-18.04
10+
runs-on: ubuntu-20.04
1111
name: Backport
1212
steps:
1313
- name: Backport Bot

.github/workflows/make_wheel_Linux_x86.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ else
1212
fi
1313

1414
if [ $TF_VERSION == "2.5.1" ] || [ $TF_VERSION == "2.7.0" ] ; then
15-
export BUILD_IMAGE="tfra/nosla-cuda11.2-cudnn8.1-ubuntu18.04-manylinux2010-multipython:r0.4"
15+
export BUILD_IMAGE="tfra/nosla-cuda11.2.1-cudnn8-ubuntu20.04-manylinux2014-multipython:r0.4"
1616
export TF_CUDA_VERSION="11.2"
1717
export TF_CUDNN_VERSION="8.1"
1818
elif [ $TF_VERSION == "2.4.1" ] ; then

.github/workflows/release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ env:
2323
jobs:
2424
test-with-bazel:
2525
name: Test with bazel
26-
runs-on: ubuntu-18.04
26+
runs-on: ubuntu-20.04
2727
steps:
2828
- uses: actions/checkout@v2
2929
- uses: actions/setup-python@v1
@@ -43,7 +43,7 @@ jobs:
4343
strategy:
4444
matrix:
4545
# TODO: add back 'windows-latest' when it can be compiled.
46-
os: ['macos-10.15', 'ubuntu-18.04']
46+
os: ['macos-10.15', 'ubuntu-20.04']
4747
py-version: ['3.7', '3.8', '3.9']
4848
tf-version: ['2.5.1', '2.7.0']
4949
tf-need-cuda: ['1', '0']
@@ -97,7 +97,7 @@ jobs:
9797
python-version: ${{ matrix.py-version }}
9898
- name: Setup Bazel
9999
# Ubuntu bazel is run inside of the docker image
100-
if: matrix.os != 'ubuntu-18.04'
100+
if: matrix.os != 'ubuntu-20.04'
101101
run: bash tools/install_deps/install_bazelisk.sh ./
102102
- name: Build wheels
103103
env:
@@ -124,7 +124,7 @@ jobs:
124124
upload-wheels:
125125
name: Publish wheels to PyPi
126126
needs: [release-wheel, test-with-bazel]
127-
runs-on: ubuntu-18.04
127+
runs-on: ubuntu-20.04
128128
strategy:
129129
matrix:
130130
# TODO: add back 'Windows' when it can be compiled.
@@ -170,7 +170,7 @@ jobs:
170170
upload-dev-container:
171171
name: Upload dev container to DockerHub
172172
needs: [release-wheel, test-with-bazel]
173-
runs-on: ubuntu-18.04
173+
runs-on: ubuntu-20.04
174174
strategy:
175175
matrix:
176176
py-version: ['3.7', '3.8', '3.9']
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Dockerfile to build a manylinux 2010 compliant cross-compiler.
2+
#
3+
# Builds a devtoolset gcc/libstdc++ that targets manylinux 2010 compatible
4+
# glibc (2.12) and system libstdc++ (4.4).
5+
#
6+
# To push a new version, run:
7+
# $ docker build -f cuda11.2.1-cudnn8-ubuntu20.04-manylinux2014-multipython.Dockerfile . \
8+
# --tag "tfra/nosla-cuda11.2.1-cudnn8-ubuntu20.04-manylinux2014-multipython:r0.4"
9+
# $ docker push tfra/nosla-cuda11.2.1-cudnn8-ubuntu20.04-manylinux2014-multipython:r0.4
10+
11+
FROM nvidia/cuda:11.2.1-cudnn8-devel-ubuntu20.04 as devtoolset
12+
13+
RUN chmod 777 /tmp/
14+
ENV DEBIAN_FRONTEND=noninteractive
15+
RUN apt-get update && apt-get install -y \
16+
cpio \
17+
file \
18+
flex \
19+
g++ \
20+
make \
21+
patch \
22+
rpm2cpio \
23+
unar \
24+
wget \
25+
xz-utils \
26+
libjpeg-dev \
27+
zlib1g-dev \
28+
libgflags-dev \
29+
libsnappy-dev \
30+
libbz2-dev \
31+
liblz4-dev \
32+
libzstd-dev \
33+
openssh-client \
34+
&& \
35+
rm -rf /var/lib/apt/lists/*
36+
37+
ADD devtoolset/fixlinks.sh fixlinks.sh
38+
ADD devtoolset/build_devtoolset.sh build_devtoolset.sh
39+
ADD devtoolset/rpm-patch.sh rpm-patch.sh
40+
41+
# Set up a sysroot for glibc 2.12 / libstdc++ 4.4 / devtoolset-7 in /dt7.
42+
RUN /build_devtoolset.sh devtoolset-7 /dt7
43+
# Set up a sysroot for glibc 2.12 / libstdc++ 4.4 / devtoolset-8 in /dt8.
44+
RUN /build_devtoolset.sh devtoolset-8 /dt8
45+
46+
# TODO(klimek): Split up into two different docker images.
47+
FROM nvidia/cuda:11.2.0-cudnn8-devel-ubuntu18.04
48+
COPY --from=devtoolset /dt7 /dt7
49+
COPY --from=devtoolset /dt8 /dt8
50+
51+
ENV DEBIAN_FRONTEND=noninteractive
52+
53+
# Copy and run the install scripts.
54+
ARG DEBIAN_FRONTEND=noninteractive
55+
56+
COPY install/install_bootstrap_deb_packages.sh /install/
57+
RUN /install/install_bootstrap_deb_packages.sh
58+
59+
COPY install/install_deb_packages.sh /install/
60+
RUN /install/install_deb_packages.sh
61+
62+
# Install additional packages needed for this image:
63+
# - dependencies to build Python from source
64+
# - patchelf, as it is required by auditwheel
65+
RUN apt-get update && apt-get install -y \
66+
libbz2-dev \
67+
libffi-dev \
68+
libgdbm-dev \
69+
libncurses5-dev \
70+
libnss3-dev \
71+
libreadline-dev \
72+
patchelf \
73+
gcc-multilib \
74+
&& \
75+
rm -rf /var/lib/apt/lists/*
76+
77+
RUN chmod 777 /tmp/
78+
WORKDIR /tmp/
79+
80+
COPY install/install_nccl.sh /install/
81+
RUN /install/install_nccl.sh "2.8.4-1+cuda11.2"
82+
83+
COPY install/install_rocksdb.sh /install/
84+
RUN /install/install_rocksdb.sh "6.22.1"
85+
86+
COPY install/install_bazel.sh /install/
87+
RUN /install/install_bazel.sh "5.1.1"
88+
89+
COPY install/build_and_install_python.sh /install/
90+
RUN /install/build_and_install_python.sh "3.6.9"
91+
RUN /install/build_and_install_python.sh "3.7.7"
92+
RUN /install/build_and_install_python.sh "3.8.2"
93+
RUN /install/build_and_install_python.sh "3.9.7"
94+
95+
COPY install/install_pip_packages_by_version.sh /install/
96+
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.9"
97+
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.8"
98+
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.6"
99+
RUN /install/install_pip_packages_by_version.sh "/usr/local/bin/pip3.7"
100+
101+
ENV CLANG_VERSION="r7f6f9f4cf966c78a315d15d6e913c43cfa45c47c"
102+
COPY install/install_latest_clang.sh /install/
103+
RUN /install/install_latest_clang.sh
104+
105+
COPY install/use_devtoolset_7.sh /install/
106+
RUN /install/use_devtoolset_7.sh
107+
108+
COPY install/install_rocksdb.sh /install/
109+
RUN /install/install_rocksdb.sh "6.22.1"
110+
111+
COPY install/install_openmpi.sh /install/
112+
RUN /install/install_openmpi.sh "4.1.1"
113+
114+
# clean
115+
RUN rm -rf /tmp/*

0 commit comments

Comments
 (0)