Skip to content
Open
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
10 changes: 5 additions & 5 deletions .github/workflows/prebuild-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
username: ${{ vars.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Build ${{ matrix.image }} image
Expand All @@ -126,12 +126,12 @@ jobs:
GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}
BUILDKIT_INLINE_CACHE=1
tags: |
hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.sha_short }}
hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}
${{ vars.DOCKER_USERNAME }}/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.sha_short }}
${{ vars.DOCKER_USERNAME }}/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}
cache-from: |
type=registry,ref=hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}
type=registry,ref=${{ vars.DOCKER_USERNAME }}/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }}
cache-to: |
type=registry,ref=hpccsystems/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }},mode=max
type=registry,ref=${{ vars.DOCKER_USERNAME }}/platform-build-base-${{ matrix.image }}:${{ steps.vars.outputs.vcpkg_tag }},mode=max

- name: Show disk usage after build
if: always()
Expand Down
24 changes: 22 additions & 2 deletions dockerfiles/centos-7.dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM centos:centos7.9.2009 AS base_build

ARG PYTHON_VERSION=3.14.0

COPY dockerfiles/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

# Build Tools ---
Expand All @@ -14,20 +16,39 @@ RUN yum clean all && yum update -y && yum install -y \
flex \
git \
kernel-devel \
libffi-devel \
libtool \
openssl11-devel \
perl-IPC-Cmd \
perl-Time-Piece \
python3 \
readline-devel \
sqlite-devel \
tar \
unzip \
xz-devel \
yum-utils \
zlib-devel \
zip && \
yum install -y devtoolset-11 && \
yum -y clean all && rm -rf /var/cache

RUN echo "source /opt/rh/devtoolset-11/enable" >> /etc/bashrc
SHELL ["/bin/bash", "--login", "-c"]

RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
export CPPFLAGS="-I/usr/include/openssl11" && \
export LDFLAGS="-L/usr/lib64/openssl11" && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

RUN curl -o pkg-config-0.29.2.tar.gz https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz && \
tar xvfz pkg-config-0.29.2.tar.gz
WORKDIR /pkg-config-0.29.2
Expand Down Expand Up @@ -153,7 +174,6 @@ FROM base_build
RUN yum makecache && yum install -y \
epel-release \
java-11-openjdk-devel \
python3-devel \
wget && \
yum update -y && yum install -y \
ccache \
Expand Down
22 changes: 20 additions & 2 deletions dockerfiles/rockylinux-8.dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM rockylinux:8 AS base_build

ARG PYTHON_VERSION=3.14.0

RUN dnf install -y 'dnf-command(config-manager)' && \
dnf config-manager --set-enabled powertools && \
dnf update -y && \
Expand All @@ -12,13 +14,18 @@ RUN dnf install -y 'dnf-command(config-manager)' && \
flex \
git \
libtool \
libffi-devel \
libtirpc-devel \
openssl-devel \
perl-IPC-Cmd \
perl-Time-Piece \
python3 \
readline-devel \
sqlite-devel \
rpm-build \
tar \
unzip \
xz-devel \
zlib-devel \
zip && \
dnf clean all

Expand All @@ -30,6 +37,18 @@ RUN dnf install -y gcc-toolset-12-gcc gcc-toolset-12-gcc-c++ gcc-toolset-12-binu
RUN echo "source /opt/rh/gcc-toolset-12/enable" >> /etc/bashrc
SHELL ["/bin/bash", "--login", "-c"]

RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

FROM base_build AS vcpkg_build

# Build Tools - Mono ---
Expand Down Expand Up @@ -87,7 +106,6 @@ FROM base_build

RUN yum remove -y python3.11 java-1.* && yum install -y \
java-11-openjdk-devel \
python3-devel \
epel-release && \
yum update -y && yum install -y \
ccache \
Expand Down
22 changes: 21 additions & 1 deletion dockerfiles/ubuntu-20.04.dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM ubuntu:20.04 AS base_build

ARG PYTHON_VERSION=3.14.0

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -18,16 +20,35 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git \
gnupg \
groff-base \
libbz2-dev \
libffi-dev \
liblzma-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
pkg-config \
software-properties-common \
tar \
unzip \
uuid-dev \
wget \
zlib1g-dev \
zip

WORKDIR /hpcc-dev
RUN chmod -R 777 /hpcc-dev
RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

FROM base_build AS vcpkg_build

Expand Down Expand Up @@ -87,7 +108,6 @@ ENV RInside_package=RInside_0.2.14.tar.gz
RUN apt-get update && apt-get install --no-install-recommends -y \
ccache \
default-jdk \
python3-dev \
wget \
r-base \
r-cran-rcpp && \
Expand Down
22 changes: 21 additions & 1 deletion dockerfiles/ubuntu-22.04.dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ARG BASE_IMAGE=ubuntu:22.04
FROM ${BASE_IMAGE} AS base_build

ARG PYTHON_VERSION=3.14.0

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -19,16 +21,35 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git \
gnupg \
groff-base \
libbz2-dev \
libffi-dev \
liblzma-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
pkg-config \
software-properties-common \
tar \
unzip \
uuid-dev \
wget \
zlib1g-dev \
zip

WORKDIR /hpcc-dev
RUN chmod -R 777 /hpcc-dev
RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

FROM base_build AS vcpkg_build

Expand Down Expand Up @@ -89,7 +110,6 @@ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
default-jdk \
ninja-build \
nodejs \
python3-dev \
rsync \
fop \
libsaxonb-java \
Expand Down
22 changes: 21 additions & 1 deletion dockerfiles/ubuntu-24.04.dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
ARG BASE_IMAGE=ubuntu:24.04
FROM ${BASE_IMAGE} AS base_build

ARG PYTHON_VERSION=3.14.0

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -19,17 +21,36 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git \
gnupg \
groff-base \
libbz2-dev \
libffi-dev \
liblzma-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
libtirpc-dev \
pkg-config \
software-properties-common \
tar \
unzip \
uuid-dev \
wget \
zlib1g-dev \
zip

WORKDIR /hpcc-dev
RUN chmod -R 777 /hpcc-dev
RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

FROM base_build AS vcpkg_build

Expand Down Expand Up @@ -89,7 +110,6 @@ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
default-jdk \
ninja-build \
nodejs \
python3-dev \
rsync \
fop \
libsaxonb-java \
Expand Down
23 changes: 22 additions & 1 deletion dockerfiles/wasm32-emscripten.dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM ubuntu:24.04 AS base_build

ARG PYTHON_VERSION=3.14.0

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
Expand All @@ -18,18 +20,38 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
git \
gnupg \
groff-base \
libbz2-dev \
libffi-dev \
liblzma-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libtool \
libtirpc-dev \
pkg-config \
software-properties-common \
tar \
unzip \
uuid-dev \
wget \
zlib1g-dev \
zip

WORKDIR /hpcc-dev
RUN chmod -R 777 /hpcc-dev

RUN curl -fsSLo Python-${PYTHON_VERSION}.tgz https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --prefix=/usr/local --with-ensurepip=install && \
make -j"$(nproc)" && \
make altinstall && \
ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 && \
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 && \
ln -sf /usr/local/bin/python3.14-config /usr/local/bin/python3-config && \
cd / && \
rm -rf Python-${PYTHON_VERSION} Python-${PYTHON_VERSION}.tgz

ARG EMSCRIPTEN_VERSION=4.0.7
RUN git clone https://github.com/emscripten-core/emsdk.git && \
cd emsdk && \
Expand Down Expand Up @@ -98,7 +120,6 @@ RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && \
default-jdk \
ninja-build \
nodejs \
python3-dev \
rsync \
fop \
libsaxonb-java \
Expand Down