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

Optimize Dockerfiles and remove deprecated workflow #360

Merged
merged 3 commits into from
May 3, 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
59 changes: 0 additions & 59 deletions .github/workflows/update-repo.yml

This file was deleted.

54 changes: 54 additions & 0 deletions docker/Dockerfile.opensuse
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
ARG DISTRO=opensuse/leap
ARG VERSION=15.3
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ENV PATH /usr/local/bin:${PATH}
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64

RUN set +e; \
zypper --non-interactive -i --gpg-auto-import-keys refresh; \
zypper --non-interactive -i patch; \
zypper --non-interactive -i patch; \
zypper --non-interactive -i --gpg-auto-import-keys refresh; \
exit 0

RUN zypper --non-interactive update -y && \
zypper --non-interactive dist-upgrade -y && \
zypper --non-interactive install -y -t pattern devel_basis && \
zypper --non-interactive install -y python3-pip gcc-c++ git dpkg-devel rpm-build wget curl binutils-gold && \
python3 -m pip install 'cmake==3.28.4'

ARG ROCM_VERSION=0.0
ARG AMDGPU_RPM=latest/sle/15/amdgpu-install-21.50.50000-1.noarch.rpm
ARG PERL_REPO=SLE_15

RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
zypper --non-interactive addrepo https://mirrorcache-us.opensuse.org/repositories/devel:/languages:/perl/${PERL_REPO}/devel:languages:perl.repo && \
zypper --non-interactive --no-gpg-checks install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
zypper --non-interactive --gpg-auto-import-keys refresh && \
zypper --non-interactive install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev rccl-devel libpciaccess0 && \
zypper --non-interactive clean --all; \
fi

ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"

RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \
conda clean -a -y && \
conda init

WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
48 changes: 48 additions & 0 deletions docker/Dockerfile.opensuse.ci
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
ARG DISTRO=opensuse/leap
ARG VERSION=15.3
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ENV PATH /usr/local/bin:${PATH}

ARG EXTRA_PACKAGES=""
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186"
# ARG NJOBS="12"

RUN set +e; \
zypper --non-interactive -i --gpg-auto-import-keys refresh; \
zypper --non-interactive -i patch; \
zypper --non-interactive -i patch; \
zypper --non-interactive -i --gpg-auto-import-keys refresh; \
exit 0

RUN zypper --non-interactive update -y && \
zypper --non-interactive dist-upgrade -y && \
zypper --non-interactive install -y -t pattern devel_basis && \
zypper --non-interactive install -y python3-pip gcc-c++ git dpkg-devel rpm-build curl wget binutils-gold && \
python3 -m pip install 'cmake==3.28.4' && \
zypper --non-interactive clean --all

ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"

RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip numpy; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \
conda clean -a -y && \
cd /tmp && \
shopt -s dotglob extglob && \
rm -rf *

WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
52 changes: 52 additions & 0 deletions docker/Dockerfile.rhel
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
ARG DISTRO=rockylinux
ARG VERSION=8
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ENV PATH /usr/local/bin:${PATH}
ENV LIBRARY_PATH ${LIBRARY_PATH}:/opt/amdgpu/lib64

RUN yum groupinstall -y "Development Tools" && \
yum install -y epel-release && \
yum install -y --allowerasing curl dpkg-devel python3-pip wget zlib-devel which && \
yum clean all && \
python3 -m pip install 'cmake==3.28.4'

ARG ROCM_VERSION=0.0
ARG AMDGPU_RPM=5.4/rhel/8.7/amdgpu-install-5.4.50400-1.el8.noarch.rpm

RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
OS_VERSION_MAJOR=$(cat /etc/os-release | grep 'VERSION_ID' | sed 's/=/ /1' | awk '{print $NF}' | sed 's/"//g' | sed 's/\./ /g' | awk '{print $1}') && \
if [ "${OS_VERSION_MAJOR}" -eq 8 ]; then PERL_REPO=powertools; else PERL_REPO=crb; fi && \
dnf -y --enablerepo=${PERL_REPO} install perl-File-BaseDir && \
yum install -y https://repo.radeon.com/amdgpu-install/${AMDGPU_RPM} && \
yum install -y rocm-dev rocm-smi-lib roctracer-dev rocprofiler-dev libpciaccess && \
yum clean all; \
fi

ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"

RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \
conda clean -a -y && \
conda init

RUN if [ "${ROCM_VERSION}" != "0.0" ]; then ln -sf /opt/rocm-${ROCM_VERSION}* /opt/rocm; fi

WORKDIR /home
ENV LC_ALL C.UTF-8
SHELL [ "/bin/bash", "--login", "-c" ]
COPY ./entrypoint-rhel.sh /docker-entrypoint.sh
ENTRYPOINT [ "/docker-entrypoint.sh" ]
42 changes: 42 additions & 0 deletions docker/Dockerfile.rhel.ci
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

ARG DISTRO=rockylinux
ARG VERSION=8
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ENV PATH /usr/local/bin:${PATH}

ARG EXTRA_PACKAGES=""
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186"
# ARG NJOBS="12"

RUN yum groupinstall -y "Development Tools" && \
yum install -y epel-release && \
yum install -y --allowerasing curl dpkg-devel python3-pip wget zlib-devel which git && \
yum clean all && \
python3 -m pip install --upgrade pip && \
python3 -m pip install 'cmake==3.28.4'

ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"

RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip numpy; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \
conda clean -a -y && \
cd /tmp && \
shopt -s dotglob extglob && \
rm -rf *

WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
57 changes: 57 additions & 0 deletions docker/Dockerfile.ubuntu
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
ARG DISTRO
ARG VERSION
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US
ENV LC_ALL C
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ARG EXTRA_PACKAGES=""
ARG ROCM_REPO_VERSION="debian"
ARG ROCM_VERSION="0.0"
ARG ROCM_REPO_DIST="ubuntu"
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"
ENV PATH ${HOME}/.local/bin:${PATH}

RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y build-essential cmake libnuma1 wget gnupg2 m4 bash-completion git-core autoconf libtool autotools-dev python3-pip lsb-release libpapi-dev libpfm4-dev libudev1 libopenmpi-dev rpm librpm-dev curl apt-utils && \
python3 -m pip install 'cmake==3.28.4'

RUN if [ "${ROCM_VERSION}" != "0.0" ]; then \
if [ -d /etc/apt/trusted.gpg.d ]; then \
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor > /etc/apt/trusted.gpg.d/rocm.gpg; \
else \
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -; \
fi && \
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${ROCM_REPO_VERSION}/ ${ROCM_REPO_DIST} main" | tee /etc/apt/sources.list.d/rocm.list && \
apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev && \
apt-get install -y hip-base hip-runtime-amd hip-dev && \
apt-get install -y rocm-llvm rocm-core rocm-smi-lib rocm-device-libs && \
apt-get install -y roctracer-dev rocprofiler-dev rccl-dev ${EXTRA_PACKAGES} && \
if [ "$(echo ${ROCM_VERSION} | awk -F '.' '{print $1}')" -lt "5" ]; then apt-get install -y rocm-dev; fi && \
apt-get autoclean; \
fi

RUN wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done && \
conda clean -a -y && \
conda init

ENV LC_ALL C.UTF-8
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
48 changes: 48 additions & 0 deletions docker/Dockerfile.ubuntu.ci
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@

ARG DISTRO
ARG VERSION
FROM ${DISTRO}:${VERSION}

ENV HOME /root
ENV LANG C.UTF-8
ENV SHELL /bin/bash
ENV BASH_ENV /etc/bash.bashrc
ENV DEBIAN_FRONTEND noninteractive

WORKDIR /tmp
SHELL [ "/bin/bash", "-c" ]

ARG EXTRA_PACKAGES=""
# ARG ELFUTILS_DOWNLOAD_VERSION="0.186"
# ARG BOOST_DOWNLOAD_VERSION="1.79.0"
# ARG NJOBS="12"
ARG PYTHON_VERSIONS="6 7 8 9 10 11 12"

ENV PATH /usr/local/bin:${PATH}
ENV LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LIBRARY_PATH}
ENV LD_LIBRARY_PATH /usr/local/lib:/usr/local/lib64:${LD_LIBRARY_PATH}
ENV CMAKE_PREFIX_PATH /usr/local:${CMAKE_PREFIX_PATH}


RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y autoconf autotools-dev bash-completion build-essential bzip2 cmake curl environment-modules git-core gnupg2 gzip libtool locales lsb-release m4 python3-pip unzip wget zip zlib1g-dev && \
python3 -m pip install 'cmake==3.28.4' && \
apt-get autoclean && \
locale -a && \
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
bash miniconda.sh -b -p /opt/conda && \
export PATH="/opt/conda/bin:${PATH}" && \
conda config --set always_yes yes --set changeps1 no && \
conda update -c defaults -n base conda && \
for i in ${PYTHON_VERSIONS}; do conda create -n py3.${i} -c defaults -c conda-forge python=3.${i} pip numpy; done && \
for i in ${PYTHON_VERSIONS}; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy pandas dataclasses; done && \
conda clean -a -y && \
cd /tmp && \
shopt -s dotglob extglob && \
rm -rf *


ENV LC_ALL C.UTF-8
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
Loading