-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CI] [GHA] Introduce additional Ubuntu versions via separate workflows #25234
Merged
ilya-lavrenov
merged 81 commits into
openvinotoolkit:master
from
akashchi:ci/gha/split-linux-workflow-by-os
Jul 31, 2024
Merged
Changes from all commits
Commits
Show all changes
81 commits
Select commit
Hold shift + click to select a range
c762735
add U20, 22, 24 to Docker building
akashchi 28f88a9
update docker tag
akashchi 443649e
rm unuses
akashchi b170723
newer pip
akashchi 519890c
install pip via apt
akashchi f923856
use system python
akashchi 5c583ad
rm
akashchi a0df984
use venv for system python
akashchi fff86c6
install protobuf on U24
akashchi d38f317
install setuptools and wheel
akashchi 5a75480
protobuf
akashchi 1a64896
set cmake args for onnx
akashchi 954b8cb
rm protobuf
akashchi a82354c
do not use onnx from cache
akashchi 364918d
use postfix for artifacts
akashchi e31ac3c
use Unix Makefiles for U24 onnx
akashchi 1841675
provide missing arg
akashchi becc14a
use approach with inputs
akashchi 07a4c80
split workflows by os
akashchi 23d2489
merge
akashchi d47ee4b
update docker tag
akashchi ec9d210
provide os
akashchi d800cdf
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 22054dd
use 3.11
akashchi 8188ff9
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 0822274
add U24
akashchi fdfc9e0
compiler
akashchi 562b3da
fix image names
akashchi 211c7f0
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 20cf3d7
use sys python across all Ubuntus
akashchi 0e27dde
use 3.11 in U22 across all workflow
akashchi 68a3da6
use proper name
akashchi 4b7b953
use dedicated names
akashchi 4109000
update runner; update wf name in docs
akashchi 2ae39cd
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi ea8d228
rm unused Python from nvidia image
akashchi 348b605
Merge branch 'master' into ci/gha/split-linux-workflow-by-os
akashchi 3076162
change name
akashchi 715b1a0
Merge branch 'ci/gha/split-linux-workflow-by-os' of github.com:akashc…
akashchi 94a0d9e
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 8d2f2cd
add missing dependency
akashchi 5f35fbb
use clean image
akashchi 1704025
return bare image
akashchi 3e0ee67
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 2cbae3a
use system Python for Debian packages
akashchi 8cd195a
fix var name
akashchi ec0f8ee
change order
akashchi e91e851
use path to sys python
akashchi 43db64d
adapt for U24
akashchi 4b37109
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi c1d8bbc
rm iGPU from required
akashchi 9d906ab
update docker tag
akashchi 4d47b25
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi d39f36c
return as required
akashchi f6d9bac
rm
akashchi 6baa832
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 0c30c56
review
akashchi 626b598
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 34a39a6
merge
akashchi 6675343
merge
akashchi 7d6d962
rm unused
akashchi 0959661
rm unsued env var
akashchi f754441
rm conditions, store artefacts for all Ubuntus
akashchi 3523065
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi fb3ad84
use underscores for OS name
akashchi b55868e
use python3 explicetly
akashchi 55fceb9
merge
akashchi 6c8be1c
use py3 explicitly
akashchi 79c3c94
Merge branch 'master' into ci/gha/split-linux-workflow-by-os
akashchi 5cb5f1a
Merge remote-tracking branch 'upstream/master' into ci/gha/split-linu…
akashchi 9e76ab8
add Debian and Samples jobs to U20/24 workflows; use better Ubuntu ve…
akashchi f679da1
add missing required jobs
akashchi 58ed1d5
Merge branch 'ci/gha/split-linux-workflow-by-os' of github.com:akashc…
akashchi 8879558
add missing deps
akashchi 1e92863
add cmake args
akashchi ddd3336
return gcc-10
akashchi b747c15
rm
akashchi e7152c3
use system py
akashchi 2c84f4d
rm unused
akashchi e59a45f
use install deps script
akashchi 5247b07
add comment about gcc-10 on U24; use intall ov deps script in test Do…
akashchi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,7 +31,7 @@ runs: | |
id: copy_artifacts | ||
shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }} | ||
run: >- | ||
python ${{ env.ACTION_PATH }}/store_artifacts.py | ||
python3 ${{ env.ACTION_PATH }}/store_artifacts.py | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The same as in #25234 (comment). |
||
--storage_dir "${{ inputs.storage_dir }}" --storage_root "${{ inputs.storage_root }}" | ||
-a "${{ inputs.artifacts }}" | ||
env: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
pr-25303 | ||
pr-25234 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
72 changes: 72 additions & 0 deletions
72
.github/dockerfiles/ov_build/ubuntu_22_04_x64_nvidia/Dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
FROM openvinogithubactions.azurecr.io/dockerhub/nvidia/cuda:11.8.0-runtime-ubuntu22.04 | ||
|
||
USER root | ||
|
||
# APT configuration | ||
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf | ||
|
||
ENV DEBIAN_FRONTEND="noninteractive" \ | ||
TZ="Europe/London" | ||
|
||
RUN apt-get update && \ | ||
apt-get install software-properties-common && \ | ||
add-apt-repository --yes --no-update ppa:git-core/ppa && \ | ||
add-apt-repository --yes --no-update ppa:deadsnakes/ppa && \ | ||
apt-get update && \ | ||
apt-get install \ | ||
curl \ | ||
wget \ | ||
git \ | ||
gpg-agent \ | ||
tzdata \ | ||
# Python | ||
python3.11-dev \ | ||
mryzhov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
python3.11-venv \ | ||
python3.11-distutils \ | ||
# For Java API | ||
default-jdk \ | ||
&& \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install build dependencies | ||
ADD install_build_dependencies.sh /install_build_dependencies.sh | ||
RUN chmod +x /install_build_dependencies.sh && \ | ||
/install_build_dependencies.sh && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install sscache | ||
ARG SCCACHE_VERSION="v0.7.5" | ||
ENV SCCACHE_HOME="/opt/sccache" \ | ||
SCCACHE_PATH="/opt/sccache/sccache" | ||
|
||
RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ | ||
SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" && \ | ||
curl -SLO https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${SCCACHE_ARCHIVE} && \ | ||
tar -xzf ${SCCACHE_ARCHIVE} --strip-components=1 && rm ${SCCACHE_ARCHIVE} | ||
|
||
# Install CUDA | ||
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb && \ | ||
dpkg -i cuda-keyring_1.1-1_all.deb | ||
RUN apt-get update && apt-get install -y cuda-runtime-11-8 cuda-11-8 && apt-get install -y \ | ||
libcudnn8=8.9.4.*-1+cuda11.8 \ | ||
libcudnn8-dev=8.9.4.*-1+cuda11.8 \ | ||
libcudnn8-samples=8.9.4.*-1+cuda11.8 \ | ||
libcutensor1=1.7.0.1-1 \ | ||
libcutensor-dev=1.7.0.1-1 \ | ||
cuda-drivers | ||
|
||
# Setup pip | ||
ENV PIP_VERSION="24.0" | ||
RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ | ||
python3.11 get-pip.py --no-cache-dir pip==${PIP_VERSION} && \ | ||
rm -f get-pip.py | ||
|
||
# Use Python 3.11 as default | ||
# Using venv here 'cause other methods to switch the default Python on Ubuntu 22 break both system and wheels build | ||
RUN python3.11 -m venv venv | ||
ENV PATH="/venv/bin:$SCCACHE_HOME:$PATH" | ||
|
||
ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
FROM openvinogithubactions.azurecr.io/dockerhub/ubuntu:24.04 | ||
|
||
USER root | ||
|
||
# APT configuration | ||
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf | ||
|
||
ENV DEBIAN_FRONTEND="noninteractive" \ | ||
TZ="Europe/London" | ||
|
||
RUN apt-get update && \ | ||
apt-get install software-properties-common && \ | ||
add-apt-repository --yes --no-update ppa:git-core/ppa && \ | ||
add-apt-repository --yes --no-update ppa:deadsnakes/ppa && \ | ||
apt-get update && \ | ||
apt-get install \ | ||
curl \ | ||
git \ | ||
gpg-agent \ | ||
tzdata \ | ||
# Python | ||
python3-dev \ | ||
python3-venv \ | ||
python3-pip \ | ||
python3-full \ | ||
# For Java API | ||
default-jdk \ | ||
# Compiler. TODO: remove and use the system one; if the system one is used, onnx fails to build | ||
gcc-10 \ | ||
g++-10 \ | ||
ilya-lavrenov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
&& \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install build dependencies | ||
ADD install_build_dependencies.sh /install_build_dependencies.sh | ||
RUN chmod +x /install_build_dependencies.sh && \ | ||
/install_build_dependencies.sh && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Set gcc-10 as a default compiler | ||
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 30 && \ | ||
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 30 | ||
ilya-lavrenov marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Install sccache | ||
ARG SCCACHE_VERSION="v0.7.5" | ||
ENV SCCACHE_HOME="/opt/sccache" \ | ||
SCCACHE_PATH="/opt/sccache/sccache" | ||
|
||
RUN mkdir ${SCCACHE_HOME} && cd ${SCCACHE_HOME} && \ | ||
SCCACHE_ARCHIVE="sccache-${SCCACHE_VERSION}-x86_64-unknown-linux-musl.tar.gz" && \ | ||
curl -SLO https://github.com/mozilla/sccache/releases/download/${SCCACHE_VERSION}/${SCCACHE_ARCHIVE} && \ | ||
tar -xzf ${SCCACHE_ARCHIVE} --strip-components=1 && rm ${SCCACHE_ARCHIVE} | ||
|
||
ENV PATH="$SCCACHE_HOME:$PATH" | ||
|
||
# Create a virtual environment for the system Python as Python in Ubuntu 24 complains about installing | ||
# packages into the system Python | ||
RUN python3 -m venv venv | ||
ENV PATH="/venv/bin:$PATH" | ||
|
||
# Setup pip | ||
ENV PIP_VERSION="24.0" | ||
RUN /venv/bin/python3 -m pip install --upgrade pip==${PIP_VERSION} | ||
|
||
ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
FROM openvinogithubactions.azurecr.io/dockerhub/ubuntu:24.04 | ||
|
||
USER root | ||
|
||
# APT configuration | ||
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Assume-Yes "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::Fix-Broken "true";' >> /etc/apt/apt.conf && \ | ||
echo 'APT::Get::no-install-recommends "true";' >> /etc/apt/apt.conf | ||
|
||
ENV DEBIAN_FRONTEND="noninteractive" \ | ||
TZ="Europe/London" | ||
|
||
RUN apt-get update && \ | ||
apt-get install software-properties-common && \ | ||
apt-get update && \ | ||
apt-get install \ | ||
curl \ | ||
git \ | ||
gpg-agent \ | ||
tzdata \ | ||
# Python | ||
python3-full \ | ||
libhdf5-dev \ | ||
&& \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install openvino dependencies | ||
ADD scripts/install_dependencies/install_openvino_dependencies.sh /install_openvino_dependencies.sh | ||
RUN chmod +x /install_openvino_dependencies.sh && \ | ||
/install_openvino_dependencies.sh && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Create a virtual environment for the system Python as Python in Ubuntu 24 complains about installing | ||
# packages into the system Python | ||
RUN python3 -m venv venv | ||
ENV PATH="/venv/bin:$PATH" | ||
|
||
# Setup pip | ||
ENV PIP_VERSION="24.0" | ||
RUN /venv/bin/python3 -m pip install --upgrade pip==${PIP_VERSION} | ||
|
||
ENV PIP_CACHE_DIR=/mount/caches/pip/linux/${PIP_VERSION} | ||
ENV PIP_INSTALL_PATH=/venv/lib/python3/site-packages |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ubuntu 20 failed with
python: command not found
as I've removed the virtual env from its Docker and used the system Python there. I guess we can explicitly usepython3
as we already do in all steps across workflows.