Skip to content

Commit 436dedf

Browse files
committed
Freeze Python v3.13.1
1 parent 9d1fb0d commit 436dedf

7 files changed

+522
-14
lines changed

base/.gitlab-ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.env:
22
variables:
3-
PYTHON_VERSION: "3.12.9"
4-
TAG_VERSION_MAJ_MIN: "true"
3+
PYTHON_VERSION: "3.13.1"
4+
TAG_VERSION_MAJ_MIN: "false"
55
TAG_VERSION_MAJ: "false"
66

77
.before-script-build: &before-script-build

base/3.13.1.Dockerfile

+109
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
ARG BASE_IMAGE=debian
2+
ARG BASE_IMAGE_TAG=12
3+
ARG BUILD_ON_IMAGE=glcr.b-data.ch/python/ver
4+
ARG PYTHON_VERSION=3.13.1
5+
ARG NEOVIM_VERSION=0.10.4
6+
ARG GIT_VERSION=2.48.1
7+
ARG GIT_LFS_VERSION=3.6.1
8+
ARG PANDOC_VERSION=3.4
9+
10+
FROM glcr.b-data.ch/neovim/nvsi:${NEOVIM_VERSION} AS nvsi
11+
FROM glcr.b-data.ch/git/gsi/${GIT_VERSION}/${BASE_IMAGE}:${BASE_IMAGE_TAG} as gsi
12+
FROM glcr.b-data.ch/git-lfs/glfsi:${GIT_LFS_VERSION} as glfsi
13+
14+
FROM ${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION}
15+
16+
ARG DEBIAN_FRONTEND=noninteractive
17+
18+
ARG BUILD_ON_IMAGE
19+
ARG NEOVIM_VERSION
20+
ARG GIT_VERSION
21+
ARG GIT_LFS_VERSION
22+
ARG PANDOC_VERSION
23+
ARG BUILD_START
24+
25+
ENV PARENT_IMAGE=${BUILD_ON_IMAGE}${PYTHON_VERSION:+:$PYTHON_VERSION} \
26+
NEOVIM_VERSION=${NEOVIM_VERSION} \
27+
GIT_VERSION=${GIT_VERSION} \
28+
GIT_LFS_VERSION=${GIT_LFS_VERSION} \
29+
PANDOC_VERSION=${PANDOC_VERSION} \
30+
BUILD_DATE=${BUILD_START}
31+
32+
## Install Neovim
33+
COPY --from=nvsi /usr/local /usr/local
34+
## Install Git
35+
COPY --from=gsi /usr/local /usr/local
36+
## Install Git LFS
37+
COPY --from=glfsi /usr/local /usr/local
38+
39+
RUN dpkgArch="$(dpkg --print-architecture)" \
40+
&& apt-get update \
41+
&& apt-get -y install --no-install-recommends \
42+
bash-completion \
43+
build-essential \
44+
curl \
45+
file \
46+
fontconfig \
47+
g++ \
48+
gcc \
49+
gfortran \
50+
gnupg \
51+
htop \
52+
info \
53+
jq \
54+
libclang-dev \
55+
man-db \
56+
nano \
57+
ncdu \
58+
procps \
59+
psmisc \
60+
screen \
61+
sudo \
62+
swig \
63+
tmux \
64+
vim-tiny \
65+
wget \
66+
zsh \
67+
## Neovim: Additional runtime recommendations
68+
ripgrep \
69+
## Git: Additional runtime dependencies
70+
libcurl3-gnutls \
71+
liberror-perl \
72+
## Git: Additional runtime recommendations
73+
less \
74+
ssh-client \
75+
## Python: Additional dev dependencies
76+
&& if [ -z "$PYTHON_VERSION" ]; then \
77+
apt-get -y install --no-install-recommends \
78+
python3-dev \
79+
## Install Python package installer
80+
## (dep: python3-distutils, python3-setuptools and python3-wheel)
81+
python3-pip \
82+
## Install venv module for python3
83+
python3-venv; \
84+
## make some useful symlinks that are expected to exist
85+
## ("/usr/bin/python" and friends)
86+
for src in pydoc3 python3 python3-config; do \
87+
dst="$(echo "$src" | tr -d 3)"; \
88+
if [ -s "/usr/bin/$src" ] && [ ! -e "/usr/bin/$dst" ]; then \
89+
ln -svT "$src" "/usr/bin/$dst"; \
90+
fi \
91+
done; \
92+
else \
93+
## Force update pip
94+
pip install --upgrade --force-reinstall pip; \
95+
fi \
96+
## Git: Set default branch name to main
97+
&& git config --system init.defaultBranch main \
98+
## Git: Store passwords for one hour in memory
99+
&& git config --system credential.helper "cache --timeout=3600" \
100+
## Git: Merge the default branch from the default remote when "git pull" is run
101+
&& git config --system pull.rebase false \
102+
## Install pandoc
103+
&& curl -sLO https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
104+
&& dpkg -i pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
105+
&& rm pandoc-${PANDOC_VERSION}-1-${dpkgArch}.deb \
106+
## Clean up
107+
&& rm -rf /tmp/* \
108+
&& rm -rf /var/lib/apt/lists/* \
109+
${HOME}/.cache

cuda/3.13.1.Dockerfile

+176
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
ARG CUDNN_VERSION=9.7.0.66
2+
ARG CUDNN_VERSION_AMD64=${CUDNN_VERSION}
3+
ARG CUDNN_VERSION_ARM64=${CUDNN_VERSION}
4+
ARG CUDNN_CUDA_VERSION_MAJ_MIN=12.0
5+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_AMD64=${CUDNN_CUDA_VERSION_MAJ_MIN}
6+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_ARM64=${CUDNN_CUDA_VERSION_MAJ_MIN}
7+
8+
## CUDA_IMAGE
9+
## ├── nvidia/cuda:12.8.0-runtime-ubuntu22.04
10+
## └── nvidia/cuda:12.8.0-devel-ubuntu22.04
11+
ARG BUILD_ON_IMAGE
12+
ARG CUDNN_VERSION_MAJ=${CUDNN_VERSION%%.*}
13+
ARG CUDNN_VERSION_MAJ=${CUDNN_VERSION_MAJ:-${CUDNN_VERSION_AMD64%%.*}}
14+
ARG CUDNN_VERSION_MAJ=${CUDNN_VERSION_MAJ:-${CUDNN_VERSION_ARM64%%.*}}
15+
ARG CUDA_IMAGE_FLAVOR
16+
17+
FROM ${BUILD_ON_IMAGE} AS cudnn8-runtime-amd64
18+
19+
ARG CUDNN_VERSION_AMD64
20+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_AMD64
21+
22+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_AMD64}"
23+
24+
ENV CUDNN_VERSION=${CUDNN_VERSION_AMD64}
25+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
26+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}
27+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64}"
28+
29+
FROM ${BUILD_ON_IMAGE} AS cudnn8-runtime-arm64
30+
31+
ARG CUDNN_VERSION_ARM64
32+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_ARM64
33+
34+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_ARM64}"
35+
36+
ENV CUDNN_VERSION=${CUDNN_VERSION_ARM64}
37+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
38+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}
39+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64}"
40+
41+
FROM ${BUILD_ON_IMAGE} AS cudnn8-devel-amd64
42+
43+
ARG CUDNN_VERSION_AMD64
44+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_AMD64
45+
46+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_AMD64}"
47+
48+
ENV CUDNN_VERSION=${CUDNN_VERSION_AMD64}
49+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
50+
ENV NV_CUDNN_DEV_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
51+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}
52+
ENV NV_CUDNN_DEV_PACKAGE_NAME=libcudnn${NV_CUDNN_DEV_PACKAGE_VERSION%%.*}-dev
53+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64}"
54+
ENV NV_CUDNN_DEV_PACKAGE="${NV_CUDNN_DEV_PACKAGE_NAME}=${NV_CUDNN_DEV_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64}"
55+
56+
FROM ${BUILD_ON_IMAGE} AS cudnn8-devel-arm64
57+
58+
ARG CUDNN_VERSION_ARM64
59+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_ARM64
60+
61+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_ARM64}"
62+
63+
ENV CUDNN_VERSION=${CUDNN_VERSION_ARM64}
64+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
65+
ENV NV_CUDNN_DEV_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
66+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}
67+
ENV NV_CUDNN_DEV_PACKAGE_NAME=libcudnn${NV_CUDNN_DEV_PACKAGE_VERSION%%.*}-dev
68+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64}"
69+
ENV NV_CUDNN_DEV_PACKAGE="${NV_CUDNN_DEV_PACKAGE_NAME}=${NV_CUDNN_DEV_PACKAGE_VERSION}-1+cuda${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64}"
70+
71+
FROM ${BUILD_ON_IMAGE} AS cudnn9-runtime-amd64
72+
73+
ARG CUDNN_VERSION_AMD64
74+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_AMD64
75+
76+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_AMD64}"
77+
78+
ENV CUDNN_VERSION=${CUDNN_VERSION_AMD64}
79+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
80+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64%%.*}
81+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1"
82+
83+
FROM ${BUILD_ON_IMAGE} AS cudnn9-runtime-arm64
84+
85+
ARG CUDNN_VERSION_ARM64
86+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_ARM64
87+
88+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_ARM64}"
89+
90+
ENV CUDNN_VERSION=${CUDNN_VERSION_ARM64}
91+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
92+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64%%.*}
93+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1"
94+
95+
FROM ${BUILD_ON_IMAGE} AS cudnn9-devel-amd64
96+
97+
ARG CUDNN_VERSION_AMD64
98+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_AMD64
99+
100+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_AMD64}"
101+
102+
ENV CUDNN_VERSION=${CUDNN_VERSION_AMD64}
103+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
104+
ENV NV_CUDNN_DEV_PACKAGE_VERSION=${CUDNN_VERSION_AMD64}
105+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64%%.*}
106+
ENV NV_CUDNN_DEV_PACKAGE_NAME=libcudnn${NV_CUDNN_DEV_PACKAGE_VERSION%%.*}-dev-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_AMD64%%.*}
107+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1"
108+
ENV NV_CUDNN_DEV_PACKAGE="${NV_CUDNN_DEV_PACKAGE_NAME}=${NV_CUDNN_DEV_PACKAGE_VERSION}-1"
109+
110+
FROM ${BUILD_ON_IMAGE} AS cudnn9-devel-arm64
111+
112+
ARG CUDNN_VERSION_ARM64
113+
ARG CUDNN_CUDA_VERSION_MAJ_MIN_ARM64
114+
115+
LABEL com.nvidia.cudnn.version="${CUDNN_VERSION_ARM64}"
116+
117+
ENV CUDNN_VERSION=${CUDNN_VERSION_ARM64}
118+
ENV NV_CUDNN_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
119+
ENV NV_CUDNN_DEV_PACKAGE_VERSION=${CUDNN_VERSION_ARM64}
120+
ENV NV_CUDNN_PACKAGE_NAME=libcudnn${NV_CUDNN_PACKAGE_VERSION%%.*}-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64%%.*}
121+
ENV NV_CUDNN_DEV_PACKAGE_NAME=libcudnn${NV_CUDNN_DEV_PACKAGE_VERSION%%.*}-dev-cuda-${CUDNN_CUDA_VERSION_MAJ_MIN_ARM64%%.*}
122+
ENV NV_CUDNN_PACKAGE="${NV_CUDNN_PACKAGE_NAME}=${NV_CUDNN_PACKAGE_VERSION}-1"
123+
ENV NV_CUDNN_DEV_PACKAGE="${NV_CUDNN_DEV_PACKAGE_NAME}=${NV_CUDNN_DEV_PACKAGE_VERSION}-1"
124+
125+
FROM cudnn${CUDNN_VERSION_MAJ}-${CUDA_IMAGE_FLAVOR}-${TARGETARCH}
126+
127+
ARG DEBIAN_FRONTEND=noninteractive
128+
129+
ARG CUDA_HOME=/usr/local/cuda
130+
ARG NVBLAS_CONFIG_FILE=/etc/nvblas.conf
131+
132+
ARG CUDA_IMAGE_FLAVOR
133+
ARG CUPTI_AVAILABLE
134+
ARG BUILD_START
135+
136+
ENV CUDA_HOME=${CUDA_HOME} \
137+
NVBLAS_CONFIG_FILE=${NVBLAS_CONFIG_FILE} \
138+
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}${CUDA_HOME}/lib:${CUDA_HOME}/lib64${CUPTI_AVAILABLE:+:${CUDA_HOME}/extras/CUPTI/lib64} \
139+
BUILD_DATE=${BUILD_START}
140+
141+
RUN cpuBlasLib="$(update-alternatives --query \
142+
libblas.so.3-$(uname -m)-linux-gnu | grep Value | cut -f2 -d' ')" \
143+
&& dpkgArch="$(dpkg --print-architecture)" \
144+
&& CUDA_VERSION_MAJ_MIN_DASH=$(echo ${CUDA_VERSION%.*} | tr '.' '-') \
145+
## Install the CUDA Runtime native dev links, headers
146+
&& apt-get update \
147+
&& apt-get -y install --no-install-recommends \
148+
cuda-cudart-dev-${CUDA_VERSION_MAJ_MIN_DASH}=${NV_CUDA_CUDART_VERSION} \
149+
## Keep apt from auto upgrading the CUDA Runtime packages
150+
&& apt-mark hold \
151+
cuda-cudart-${CUDA_VERSION_MAJ_MIN_DASH} \
152+
cuda-cudart-dev-${CUDA_VERSION_MAJ_MIN_DASH} \
153+
## Unminimise if the system has been minimised
154+
&& if [ ${CUDA_IMAGE_FLAVOR} = "devel" -a $(command -v unminimize) ]; then \
155+
sed -i "s/apt-get upgrade/#apt-get upgrade/g" "$(which unminimize)"; \
156+
yes | unminimize; \
157+
sed -i "s/#apt-get upgrade/apt-get upgrade/g" "$(which unminimize)"; \
158+
fi \
159+
## NVBLAS log configuration
160+
&& touch /var/log/nvblas.log \
161+
&& chown :users /var/log/nvblas.log \
162+
&& chmod g+rw /var/log/nvblas.log \
163+
## NVBLAS configuration using all compute-capable GPUs
164+
&& echo "NVBLAS_LOGFILE /var/log/nvblas.log" > $NVBLAS_CONFIG_FILE \
165+
&& echo "NVBLAS_CPU_BLAS_LIB $cpuBlasLib" >> $NVBLAS_CONFIG_FILE \
166+
&& echo "NVBLAS_GPU_LIST ALL" >> $NVBLAS_CONFIG_FILE \
167+
## Install cuDNN
168+
&& apt-get -y install --no-install-recommends \
169+
${NV_CUDNN_PACKAGE} \
170+
${NV_CUDNN_DEV_PACKAGE} \
171+
## Keep apt from auto upgrading the cuDNN packages
172+
&& apt-mark hold \
173+
${NV_CUDNN_PACKAGE_NAME} \
174+
${NV_CUDNN_DEV_PACKAGE_NAME} \
175+
## Clean up
176+
&& rm -rf /var/lib/apt/lists/*

scipy/.gitlab-ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
.env:
22
variables:
3-
PYTHON_VERSION: "3.12.9"
3+
PYTHON_VERSION: "3.13.1"
44
CTAN_REPO_BUILD_LATEST: "https://mirror.init7.net/ctan/systems/texlive/tlnet"
5-
TAG_VERSION_MAJ_MIN: "true"
5+
TAG_VERSION_MAJ_MIN: "false"
66
TAG_VERSION_MAJ: "false"
77

88
.before-script-build: &before-script-build

0 commit comments

Comments
 (0)