rocprofiler-compute Docker Images in GHCR (#1195)

* Initial cleanup of compute workflows and skeleton of ghcr workflow

* Add containers-ci.yml, update opensuse and rhel dockerfiles

* rename id in rocprofiler-compute-ghcr.yml

* Add new line to end of containers-ci.yml

* Update action versions for rocprofiler-compute-ghcr.yml

* Switch back to SHA for action versions

* Add conda set solver classic fix to compute CI dockerfiles

* Update conda install for compute Dockerfiles

* Change opensuse version to 15.6 in containers-ci.yml

* Add fix for ubuntu noble to compute Dockerfile.ubuntu.ci

* Add default distro and version to Dockerfile.ubuntu.ci

* Updated regex for tarball version

* Remove Python3.8 from compute CI Dockerfiles

* Change RHEL 9.4 to 9, add retry for compute workflow

* Revert name change for compute rhel workflow

* update path naming

* Remove binutils-gold from Dockerfile.opensuse.ci

* Remove conda python installs from Dockerfile.ci files in compute

* Change CMake version to 3.21 in compute Dockerfile.ci files

* Update checkout actions from v4 to v5
This commit is contained in:
Jason Bonnell
2026-01-26 17:06:20 -05:00
zatwierdzone przez GitHub
rodzic 71856ec239
commit 1255ba2bcc
7 zmienionych plików z 243 dodań i 90 usunięć
@@ -2,19 +2,17 @@ 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
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 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; \
@@ -26,23 +24,23 @@ RUN set +e; \
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 install -y python3-pip gcc-c++ git dpkg-devel rpm-build curl wget && \
python3 -m pip install 'cmake==3.21' && \
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 *
# The Rock Tarball
ARG GPU_TYPE=""
ARG GPU_TARBALL=""
RUN if [ -n "$GPU_TYPE" ] && [ -n "$GPU_TARBALL" ]; then \
VERSION=$(echo "$GPU_TARBALL" | sed -nE 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'); \
if [ -z "$VERSION" ]; then \
echo "Error: Could not extract version from GPU_TARBALL ('$GPU_TARBALL')." >&2; \
exit 1; \
fi; \
python3 -m pip install -U awscli; \
aws s3 cp "s3://therock-nightly-tarball/${GPU_TARBALL}" rocm-${VERSION}-${GPU_TYPE}.tar.gz --no-sign-request; \
mv rocm-${VERSION}-${GPU_TYPE}.tar.gz /opt/rocm-${VERSION}-${GPU_TYPE}.tar.gz; \
fi
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
@@ -1,42 +1,39 @@
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
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 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'
python3 -m pip install 'cmake==3.21'
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 *
# The Rock Tarball
ARG GPU_TYPE=""
ARG GPU_TARBALL=""
RUN if [ -n "$GPU_TYPE" ] && [ -n "$GPU_TARBALL" ]; then \
VERSION=$(echo "$GPU_TARBALL" | sed -nE 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'); \
if [ -z "$VERSION" ]; then \
echo "Error: Could not extract version from GPU_TARBALL ('$GPU_TARBALL')." >&2; \
exit 1; \
fi; \
python3 -m pip install -U awscli; \
aws s3 cp "s3://therock-nightly-tarball/${GPU_TARBALL}" rocm-${VERSION}-${GPU_TYPE}.tar.gz --no-sign-request; \
mv rocm-${VERSION}-${GPU_TYPE}.tar.gz /opt/rocm-${VERSION}-${GPU_TYPE}.tar.gz; \
fi
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
@@ -1,48 +1,52 @@
ARG DISTRO
ARG VERSION
ARG DISTRO=ubuntu
ARG VERSION=22.04
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
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}
ENV PATH="/usr/local/bin:${PATH}"
ENV LIBRARY_PATH="/usr/local/lib:/usr/local/lib64"
ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/lib64"
ENV CMAKE_PREFIX_PATH="/usr/local"
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 *
locale -a
RUN OS_VERSION=$(grep '^VERSION_ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \
OS_ID=$(grep '^ID=' /etc/os-release | cut -d'=' -f2 | tr -d '"') && \
if [ "${OS_ID}" == "ubuntu" ] && [ "${OS_VERSION}" == "22.04" ]; then \
python3 -m pip install 'cmake==3.21'; \
else \
python3 -m pip install --break-system-packages 'cmake==3.21'; \
fi
ENV LC_ALL C.UTF-8
# The Rock Tarball
ARG GPU_TYPE=""
ARG GPU_TARBALL=""
RUN if [ -n "$GPU_TYPE" ] && [ -n "$GPU_TARBALL" ]; then \
VERSION=$(echo "$GPU_TARBALL" | sed -nE 's/.*([0-9]+\.[0-9]+\.[0-9]+).*/\1/p'); \
if [ -z "$VERSION" ]; then \
echo "Error: Could not extract version from GPU_TARBALL ('$GPU_TARBALL')." >&2; \
exit 1; \
fi; \
pip install --upgrade pip; \
pip install awscli --break-system-packages; \
aws s3 cp "s3://therock-nightly-tarball/${GPU_TARBALL}" rocm-${VERSION}-${GPU_TYPE}.tar.gz --no-sign-request; \
mv rocm-${VERSION}-${GPU_TYPE}.tar.gz /opt/rocm-${VERSION}-${GPU_TYPE}.tar.gz; \
fi
ENV LC_ALL=C.UTF-8
WORKDIR /home
SHELL [ "/bin/bash", "--login", "-c" ]
@@ -0,0 +1,17 @@
# Supported OS combinations for continuous integration
matrix:
# ubuntu
- distro: "ubuntu"
version: "22.04"
- distro: "ubuntu"
version: "24.04"
# opensuse
- distro: "opensuse"
version: "15.6"
# RHEL8
- distro: "rhel"
version: "8.10"
# RHEL9
- distro: "rhel"
version: "9"