Skip to content

Commit a047e02

Browse files
authored
[CI] Always install into a python venv in ci containers (#12663)
This PR changes all ci_ to install TVM Python dependencies in a virtualenv separate from the system Python dependencies. Sets the stage for adding the poetry-based dependency generator to the CI container build process. * Always install into a python venv in ci containers. * Respect Dockerfile ENV PATH modifications in docker/bash.sh lookups.
1 parent a63d03a commit a047e02

22 files changed

+875
-157
lines changed

docker/Dockerfile.ci_arm

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,12 @@ ENV PATH /opt/sccache:$PATH
4747
COPY install/ubuntu_install_llvm.sh /install/ubuntu_install_llvm.sh
4848
RUN bash /install/ubuntu_install_llvm.sh
4949

50-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
51-
RUN bash /install/ubuntu1804_install_python.sh
52-
53-
# Globally disable pip cache
54-
RUN pip config set global.no-cache-dir false
50+
ENV TVM_VENV /venv/apache-tvm-py3.7
51+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
52+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
53+
RUN bash /install/ubuntu_install_python.sh
54+
ENV PATH ${TVM_VENV}/bin:$PATH
55+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
5556

5657
COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh
5758
RUN bash /install/ubuntu_install_cmake_source.sh

docker/Dockerfile.ci_cortexm

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,15 @@ RUN bash /install/ubuntu_install_core.sh
2929
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
3030
RUN bash /install/ubuntu_install_googletest.sh
3131

32-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
33-
RUN bash /install/ubuntu1804_install_python.sh
34-
3532
COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh
3633
RUN bash /install/ubuntu_install_cmake_source.sh 3.20.0
3734

38-
COPY install/ubuntu1804_install_python_venv.sh /install/ubuntu1804_install_python_venv.sh
39-
RUN bash /install/ubuntu1804_install_python_venv.sh
40-
ENV PATH=/opt/tvm-venv/bin:/opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/bin:$PATH
41-
42-
# Globally disable pip cache
43-
RUN pip config set global.no-cache-dir false
35+
ENV TVM_VENV /venv/apache-tvm-py3.7
36+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
37+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
38+
RUN bash /install/ubuntu_install_python.sh
39+
ENV PATH ${TVM_VENV}/bin:$PATH
40+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
4441

4542
COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh
4643
RUN bash /install/ubuntu_install_python_package.sh

docker/Dockerfile.ci_cpu

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ RUN bash /install/ubuntu_install_core.sh
2828
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
2929
RUN bash /install/ubuntu_install_googletest.sh
3030

31-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
32-
RUN bash /install/ubuntu1804_install_python.sh
33-
34-
# Globally disable pip cache
35-
RUN pip config set global.no-cache-dir false
31+
ENV TVM_VENV /venv/apache-tvm-py3.7
32+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
33+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
34+
RUN bash /install/ubuntu_install_python.sh
35+
ENV PATH ${TVM_VENV}/bin:$PATH
36+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
3637

3738
COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh
3839
RUN bash /install/ubuntu_install_python_package.sh

docker/Dockerfile.ci_gpu

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,15 @@ RUN bash /install/ubuntu_install_cmake_source.sh
3838
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
3939
RUN bash /install/ubuntu_install_googletest.sh
4040

41-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
42-
RUN bash /install/ubuntu1804_install_python.sh
43-
44-
# Globally disable pip cache
45-
RUN pip config set global.no-cache-dir false
41+
ENV TVM_VENV /venv/apache-tvm-py3.7
42+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
43+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
44+
RUN bash /install/ubuntu_install_python.sh
45+
ENV PATH ${TVM_VENV}/bin:$PATH
46+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
4647

4748
COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh
49+
# Globally disable pip cache
4850
RUN bash /install/ubuntu_install_cmake_source.sh
4951

5052
COPY install/ubuntu1804_install_llvm.sh /install/ubuntu1804_install_llvm.sh

docker/Dockerfile.ci_hexagon

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,12 @@ RUN bash /install/ubuntu_install_core.sh
3131
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
3232
RUN bash /install/ubuntu_install_googletest.sh
3333

34-
COPY install/ubuntu2004_install_python.sh /install/ubuntu2004_install_python.sh
35-
RUN bash /install/ubuntu2004_install_python.sh
36-
37-
# Globally disable pip cache
38-
RUN pip config set global.cache-dir false
34+
ENV TVM_VENV /venv/apache-tvm-py3.8
35+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
36+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
37+
RUN bash /install/ubuntu_install_python.sh
38+
ENV PATH ${TVM_VENV}/bin:$PATH
39+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
3940

4041
# Rust env (build early; takes a while)
4142
COPY install/ubuntu_install_rust.sh /install/ubuntu_install_rust.sh

docker/Dockerfile.ci_i386

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,18 +35,19 @@ RUN bash /install/ubuntu_install_googletest.sh
3535
COPY install/ubuntu_install_llvm.sh /install/ubuntu_install_llvm.sh
3636
RUN bash /install/ubuntu_install_llvm.sh
3737

38-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
39-
RUN bash /install/ubuntu1804_install_python.sh
40-
4138
# Rust env (build early; takes a while)
4239
COPY install/ubuntu_install_rust.sh /install/ubuntu_install_rust.sh
4340
RUN bash /install/ubuntu_install_rust.sh
4441
ENV RUSTUP_HOME /opt/rust
4542
ENV CARGO_HOME /opt/rust
4643
ENV PATH $PATH:$CARGO_HOME/bin
44+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
4745

48-
# Globally disable pip cache
49-
RUN pip config set global.no-cache-dir false
46+
ENV TVM_VENV /venv/apache-tvm-py3.7
47+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
48+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
49+
RUN bash /install/ubuntu_install_python.sh
50+
ENV PATH ${TVM_VENV}/bin:$PATH
5051

5152
COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh
5253
RUN bash /install/ubuntu_install_cmake_source.sh

docker/Dockerfile.ci_lint

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ RUN apt-get update --fix-missing
2626

2727
RUN apt-install-and-clear -y wget git sudo make parallel
2828

29-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
30-
RUN bash /install/ubuntu1804_install_python.sh
31-
32-
# Globally disable pip cache
33-
RUN pip config set global.no-cache-dir false
29+
ENV TVM_VENV /venv/apache-tvm-py3.7
30+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
31+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
32+
RUN bash /install/ubuntu_install_python.sh
33+
ENV PATH ${TVM_VENV}/bin:$PATH
34+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
3435

3536
RUN apt-get update && apt-install-and-clear -y doxygen graphviz curl shellcheck
3637

docker/Dockerfile.ci_minimal

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ RUN bash /install/ubuntu_install_core.sh
2828
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
2929
RUN bash /install/ubuntu_install_googletest.sh
3030

31-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
32-
RUN bash /install/ubuntu1804_install_python.sh
33-
34-
# Globally disable pip cache
35-
RUN pip config set global.no-cache-dir false
31+
ENV TVM_VENV /venv/apache-tvm-py3.7
32+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
33+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
34+
RUN bash /install/ubuntu_install_python.sh
35+
ENV PATH ${TVM_VENV}/bin:$PATH
36+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
3637

3738
COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh
3839
RUN bash /install/ubuntu_install_python_package.sh

docker/Dockerfile.ci_riscv

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,15 @@ RUN bash /install/ubuntu_install_core.sh
2929
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
3030
RUN bash /install/ubuntu_install_googletest.sh
3131

32-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
33-
RUN bash /install/ubuntu1804_install_python.sh
34-
3532
COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh
3633
RUN bash /install/ubuntu_install_cmake_source.sh
3734

38-
COPY install/ubuntu1804_install_python_venv.sh /install/ubuntu1804_install_python_venv.sh
39-
RUN bash /install/ubuntu1804_install_python_venv.sh
40-
ENV PATH=/opt/tvm-venv/bin:/opt/zephyr-sdk/sysroots/x86_64-pokysdk-linux/usr/bin:$PATH
41-
42-
# Globally disable pip cache
43-
RUN pip config set global.no-cache-dir false
35+
ENV TVM_VENV /venv/apache-tvm-py3.7
36+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
37+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
38+
RUN bash /install/ubuntu_install_python.sh
39+
ENV PATH ${TVM_VENV}/bin:$PATH
40+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
4441

4542
COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh
4643
RUN bash /install/ubuntu_install_python_package.sh

docker/Dockerfile.ci_wasm

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,12 @@ RUN bash /install/ubuntu_install_core.sh
2626
COPY install/ubuntu_install_googletest.sh /install/ubuntu_install_googletest.sh
2727
RUN bash /install/ubuntu_install_googletest.sh
2828

29-
COPY install/ubuntu1804_install_python.sh /install/ubuntu1804_install_python.sh
30-
RUN bash /install/ubuntu1804_install_python.sh
31-
32-
# Globally disable pip cache
33-
RUN pip config set global.no-cache-dir false
29+
ENV TVM_VENV /venv/apache-tvm-py3.7
30+
COPY python/bootstrap/lockfiles /install/python/bootstrap/lockfiles
31+
COPY install/ubuntu_install_python.sh /install/ubuntu_install_python.sh
32+
RUN bash /install/ubuntu_install_python.sh
33+
ENV PATH ${TVM_VENV}/bin:$PATH
34+
ENV PYTHONNOUSERSITE 1 # Disable .local directory from affecting CI.
3435

3536
COPY install/ubuntu_install_python_package.sh /install/ubuntu_install_python_package.sh
3637
RUN bash /install/ubuntu_install_python_package.sh

0 commit comments

Comments
 (0)