Skip to content
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

Add UBI8 support #229

Merged
merged 6 commits into from
Jun 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/builder-unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,13 +68,13 @@ jobs:
run: |
pip install -e .
pytest tests/
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: ./coverage.xml
directory: ./
flags: unittests
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: true
path_to_write_report: ./codecov_report.gz
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v1
#with:
#file: ./coverage.xml
#directory: ./
#flags: unittests
#env_vars: OS,PYTHON
#name: codecov-umbrella
#fail_ci_if_error: true
#path_to_write_report: ./codecov_report.gz
4 changes: 2 additions & 2 deletions open_ce/container_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
from open_ce.inputs import Argument

OPEN_CE_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "."))
BUILD_IMAGE_NAME = "builder"
BUILD_IMAGE_NAME = "builder/ubi8"
BUILD_IMAGE_PATH = os.path.join(OPEN_CE_PATH, "images", BUILD_IMAGE_NAME)
BUILD_CUDA_IMAGE_NAME = "builder-cuda"
BUILD_CUDA_IMAGE_NAME = "builder-cuda/ubi8"
BUILD_CUDA_IMAGE_PATH = os.path.join(OPEN_CE_PATH, "images", BUILD_CUDA_IMAGE_NAME)
LOCAL_FILES_PATH = os.path.join(os.path.join(os.getcwd(), "local_files"))

Expand Down
59 changes: 59 additions & 0 deletions open_ce/images/builder-cuda/ubi8/Dockerfile.cuda-12.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
FROM docker.io/nvidia/cuda:12.2.2-devel-ubi8

ENV CONDA_HOME=${CONDA_HOME:-/opt/conda}
ENV PATH=$CONDA_HOME/bin:$PATH
ENV CUDA_HOME=/usr/local/cuda

ENV OPEN_CE_CONDA_BUILD=3.22.0
ENV OPEN_CE_CONDA=4.14
ENV OPENSSL_VER=3.*

ENV CICD_GROUP=cicd
ARG GROUP_ID=1500
ENV BUILD_USER=builder
ARG BUILD_ID=1084

ARG LIMIT_BUILD_RESOURCES=0
ENV LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}

# Remove preinclude system compilers
RUN rpm -e --nodeps --verbose gcc gcc-c++

RUN export ARCH="$(uname -m)" && \
yum repolist && yum install -y rsync openssh-clients diffutils procps git-lfs file psmisc openssl-devel && \
# Create CICD Group
groupadd --non-unique --gid ${GROUP_ID} ${CICD_GROUP} && \
# Adduser Builder
useradd -b /home --non-unique --create-home --gid ${GROUP_ID} --groups wheel \
--uid ${BUILD_ID} --comment "User for Building" ${BUILD_USER} && \
curl -o /tmp/anaconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-${ARCH}.sh && \
chmod +x /tmp/anaconda.sh && \
/bin/bash /tmp/anaconda.sh -f -b -p /opt/conda && \
rm -f /tmp/anaconda.sh && \
$CONDA_HOME/bin/conda install -y conda-build=${OPEN_CE_CONDA_BUILD} conda=${OPEN_CE_CONDA} networkx git junit-xml patch && \
$CONDA_HOME/bin/conda config --system --add envs_dirs $CONDA_HOME/envs && \
$CONDA_HOME/bin/conda config --system --add pkgs_dirs $CONDA_HOME/pkgs && \
$CONDA_HOME/bin/conda config --system --set always_yes true && \
$CONDA_HOME/bin/conda config --system --set auto_update_conda false && \
$CONDA_HOME/bin/conda config --system --set notify_outdated_conda false && \
$CONDA_HOME/bin/conda --version && \
$CONDA_HOME/bin/conda install openssl=${OPENSSL_VER} && \
mkdir -p $CONDA_HOME/conda-bld && \
mkdir -p $HOME/.cache && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
chown -R ${BUILD_USER}:${CICD_GROUP} ${CONDA_HOME} && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400


USER ${BUILD_USER}
RUN export PATH="${PATH}" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
mkdir -p $HOME/.cache && \
echo ". $CONDA_HOME/etc/profile.d/conda.sh" >> ${HOME}/.bashrc && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
echo "conda activate base" >> ${HOME}/.bashrc && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400
55 changes: 55 additions & 0 deletions open_ce/images/builder/ubi8/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
FROM registry.access.redhat.com/ubi8/ubi

ENV CONDA_HOME=${CONDA_HOME:-/opt/conda}
ENV PATH=$CONDA_HOME/bin:$PATH

ENV OPEN_CE_CONDA_BUILD=3.22.0
ENV OPEN_CE_CONDA=4.14
ENV OPENSSL_VER=3.*

ENV CICD_GROUP=cicd
ARG GROUP_ID=1500
ENV BUILD_USER=builder
ARG BUILD_ID=1084

ARG LIMIT_BUILD_RESOURCES=0
ENV LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}

RUN export ARCH="$(uname -m)" && \
yum repolist && yum install -y rsync openssh-clients diffutils procps binutils git-lfs glibc-devel file psmisc openssl-devel && \
# Create CICD Group
groupadd --non-unique --gid ${GROUP_ID} ${CICD_GROUP} && \
# Adduser Builder
useradd -b /home --non-unique --create-home --gid ${GROUP_ID} --groups wheel \
--uid ${BUILD_ID} --comment "User for Building" ${BUILD_USER} && \
curl -o /tmp/anaconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-${ARCH}.sh && \
chmod +x /tmp/anaconda.sh && \
/bin/bash /tmp/anaconda.sh -f -b -p /opt/conda && \
rm -f /tmp/anaconda.sh && \
$CONDA_HOME/bin/conda install -y conda-build=${OPEN_CE_CONDA_BUILD} conda=${OPEN_CE_CONDA} networkx git junit-xml patch && \
$CONDA_HOME/bin/conda config --system --add envs_dirs $CONDA_HOME/envs && \
$CONDA_HOME/bin/conda config --system --add pkgs_dirs $CONDA_HOME/pkgs && \
$CONDA_HOME/bin/conda config --system --set always_yes true && \
$CONDA_HOME/bin/conda config --system --set auto_update_conda false && \
$CONDA_HOME/bin/conda config --system --set notify_outdated_conda false && \
$CONDA_HOME/bin/conda --version && \
$CONDA_HOME/bin/conda install openssl=${OPENSSL_VER} && \
mkdir -p $CONDA_HOME/conda-bld && \
mkdir -p $HOME/.cache && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
chown -R ${BUILD_USER}:${CICD_GROUP} ${CONDA_HOME} && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400

USER ${BUILD_USER}
RUN export PATH="${PATH}" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
mkdir -p $HOME/.cache && \
echo ". $CONDA_HOME/etc/profile.d/conda.sh" >> ${HOME}/.bashrc && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
echo "conda activate base" >> ${HOME}/.bashrc && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400

66 changes: 66 additions & 0 deletions open_ce/images/builder/ubi8/Dockerfile-p10
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
FROM registry.access.redhat.com/ubi8/ubi

ENV CONDA_HOME=${CONDA_HOME:-/opt/conda}
ENV PATH=$CONDA_HOME/bin:$PATH

ENV OPEN_CE_CONDA_BUILD=3.22.0
ENV OPEN_CE_CONDA=4.14
ENV OPENSSL_VER=3.*

ENV CICD_GROUP=cicd
ARG GROUP_ID=1500
ENV BUILD_USER=builder
ARG BUILD_ID=1084

ARG LIMIT_BUILD_RESOURCES=0
ENV LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}

RUN export ARCH="$(uname -m)" && \
yum install -y yum-utils rsync openssh-clients diffutils procps git-lfs gcc-toolset-12 glibc-devel file psmisc libX11-devel openssl openssl-libs openssl-devel && \
yum install -y libtirpc-devel && \
# Create CICD Group
groupadd --non-unique --gid ${GROUP_ID} ${CICD_GROUP} && \
# Adduser Builder
useradd -b /home --non-unique --create-home --gid ${GROUP_ID} --groups wheel \
--uid ${BUILD_ID} --comment "User for Building" ${BUILD_USER} && \
curl -o /tmp/anaconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py310_22.11.1-1-Linux-${ARCH}.sh && \
chmod +x /tmp/anaconda.sh && \
/bin/bash /tmp/anaconda.sh -f -b -p /opt/conda && \
rm -f /tmp/anaconda.sh && \
$CONDA_HOME/bin/conda install -y conda-build=${OPEN_CE_CONDA_BUILD} conda=${OPEN_CE_CONDA} networkx git junit-xml patch && \
$CONDA_HOME/bin/conda config --system --add envs_dirs $CONDA_HOME/envs && \
$CONDA_HOME/bin/conda config --system --add pkgs_dirs $CONDA_HOME/pkgs && \
$CONDA_HOME/bin/conda config --system --set always_yes true && \
$CONDA_HOME/bin/conda config --system --set auto_update_conda false && \
$CONDA_HOME/bin/conda config --system --set notify_outdated_conda false && \
$CONDA_HOME/bin/conda config --system --add create_default_packages openssl=${OPENSSL_VER} && \
$CONDA_HOME/bin/conda --version && \
$CONDA_HOME/bin/conda install openssl=${OPENSSL_VER} && \
mkdir -p $CONDA_HOME/conda-bld && \
mkdir -p $HOME/.cache && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
export PATH="/opt/rh/gcc-toolset-12/root/usr/bin:${PATH}" && \
export GCC_HOME="/opt/rh/gcc-toolset-12/root/usr" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
echo "PATH="${PATH}"" >> ${HOME}/.bashrc && \
echo "GCC_HOME="${GCC_HOME}"" >> ${HOME}/.bashrc && \
chown -R ${BUILD_USER}:${CICD_GROUP} ${CONDA_HOME} && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400


USER ${BUILD_USER}
RUN export PATH="/opt/rh/gcc-toolset-12/root/usr/bin:${PATH}" && \
export GCC_HOME="/opt/rh/gcc-toolset-12/root/usr" && \
echo "PATH="${PATH}"" >> ${HOME}/.profile && \
echo "PATH="${PATH}"" >> ${HOME}/.bashrc && \
echo "GCC_HOME="${GCC_HOME}"" >> ${HOME}/.bashrc && \
mkdir -p $HOME/.cache && \
echo ". $CONDA_HOME/etc/profile.d/conda.sh" >> ${HOME}/.bashrc && \
echo "export PYTHONPATH=${PYTHONPATH}:$HOME/open_ce" >> ${HOME}/.bashrc && \
echo "export LIMIT_BUILD_RESOURCES=${LIMIT_BUILD_RESOURCES}" >> ${HOME}/.bashrc && \
echo "conda activate base" >> ${HOME}/.bashrc && \
git config --global http.version HTTP/1.1 && \
git config --global http.postBuffer 157286400

Loading